src/hotspot/os/bsd/os_bsd.cpp
changeset 59249 29b0d0b61615
parent 59248 e92153ed8bdc
child 59252 623722a6aeb9
equal deleted inserted replaced
59248:e92153ed8bdc 59249:29b0d0b61615
  1892   if (!UseOprofile) {
  1892   if (!UseOprofile) {
  1893     return;
  1893     return;
  1894   }
  1894   }
  1895 
  1895 
  1896   char buf[PATH_MAX + 1];
  1896   char buf[PATH_MAX + 1];
  1897   int num = Atomic::add(1, &cnt);
  1897   int num = Atomic::add(&cnt, 1);
  1898 
  1898 
  1899   snprintf(buf, PATH_MAX + 1, "%s/hs-vm-%d-%d",
  1899   snprintf(buf, PATH_MAX + 1, "%s/hs-vm-%d-%d",
  1900            os::get_temp_directory(), os::current_process_id(), num);
  1900            os::get_temp_directory(), os::current_process_id(), num);
  1901   unlink(buf);
  1901   unlink(buf);
  1902 
  1902 
  3262   uint apic_id = edx;
  3262   uint apic_id = edx;
  3263   int processor_id = Atomic::load(&mapping[apic_id]);
  3263   int processor_id = Atomic::load(&mapping[apic_id]);
  3264 
  3264 
  3265   while (processor_id < 0) {
  3265   while (processor_id < 0) {
  3266     if (Atomic::cmpxchg(-2, &mapping[apic_id], -1) == -1) {
  3266     if (Atomic::cmpxchg(-2, &mapping[apic_id], -1) == -1) {
  3267       Atomic::store(&mapping[apic_id], Atomic::add(1, &next_processor_id) - 1);
  3267       Atomic::store(&mapping[apic_id], Atomic::add(&next_processor_id, 1) - 1);
  3268     }
  3268     }
  3269     processor_id = Atomic::load(&mapping[apic_id]);
  3269     processor_id = Atomic::load(&mapping[apic_id]);
  3270   }
  3270   }
  3271 
  3271 
  3272   assert(processor_id >= 0 && processor_id < os::processor_count(), "invalid processor id");
  3272   assert(processor_id >= 0 && processor_id < os::processor_count(), "invalid processor id");