equal
deleted
inserted
replaced
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"); |