--- a/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp Sat Sep 07 10:05:47 2019 -0700
+++ b/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp Sat Sep 07 18:48:57 2019 -0400
@@ -2645,7 +2645,7 @@
MutexLocker x(freelistLock(), Mutex::_no_safepoint_check_flag);
expand_for_gc_cause(word_size*HeapWordSize, MinHeapDeltaBytes, CMSExpansionCause::_satisfy_allocation);
if (GCExpandToAllocateDelayMillis > 0) {
- os::sleep(Thread::current(), GCExpandToAllocateDelayMillis, false);
+ os::naked_sleep(GCExpandToAllocateDelayMillis);
}
return have_lock_and_allocate(word_size, tlab);
}
@@ -2684,7 +2684,7 @@
// A competing par_promote might beat us to the expansion space,
// so we may go around the loop again if promotion fails again.
if (GCExpandToAllocateDelayMillis > 0) {
- os::sleep(Thread::current(), GCExpandToAllocateDelayMillis, false);
+ os::naked_sleep(GCExpandToAllocateDelayMillis);
}
}
}
@@ -2711,7 +2711,7 @@
// A competing allocation might beat us to the expansion space,
// so we may go around the loop again if allocation fails again.
if (GCExpandToAllocateDelayMillis > 0) {
- os::sleep(Thread::current(), GCExpandToAllocateDelayMillis, false);
+ os::naked_sleep(GCExpandToAllocateDelayMillis);
}
}
}
@@ -3544,7 +3544,7 @@
for (unsigned i = 0; i < CMSCoordinatorYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -5541,7 +5541,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -5995,7 +5995,7 @@
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive();
++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -6150,7 +6150,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -6217,7 +6217,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -6368,7 +6368,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -6982,7 +6982,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -7547,7 +7547,7 @@
for (unsigned i = 0; i < CMSYieldSleepCount &&
ConcurrentMarkSweepThread::should_yield() &&
!CMSCollector::foregroundGCIsActive(); ++i) {
- os::sleep(Thread::current(), 1, false);
+ os::naked_short_sleep(1);
}
ConcurrentMarkSweepThread::synchronize(true);
@@ -7845,7 +7845,6 @@
}
// Grab the entire list; we'll put back a suffix
oop prefix = cast_to_oop(Atomic::xchg((oopDesc*)BUSY, &_overflow_list));
- Thread* tid = Thread::current();
// Before "no_of_gc_threads" was introduced CMSOverflowSpinCount was
// set to ParallelGCThreads.
size_t CMSOverflowSpinCount = (size_t) no_of_gc_threads; // was ParallelGCThreads;
@@ -7853,7 +7852,7 @@
// If the list is busy, we spin for a short while,
// sleeping between attempts to get the list.
for (size_t spin = 0; prefix == BUSY && spin < CMSOverflowSpinCount; spin++) {
- os::sleep(tid, sleep_time_millis, false);
+ os::naked_sleep(sleep_time_millis);
if (_overflow_list == NULL) {
// Nothing left to take
return false;