src/hotspot/share/utilities/spinYield.cpp
changeset 53077 33b8f6f4cdf5
parent 50113 caf115bb98ad
--- a/src/hotspot/share/utilities/spinYield.cpp	Thu Dec 20 02:51:01 2018 +0100
+++ b/src/hotspot/share/utilities/spinYield.cpp	Thu Dec 20 10:05:19 2018 +0100
@@ -27,12 +27,13 @@
 #include "utilities/ostream.hpp"
 #include "utilities/spinYield.hpp"
 
-SpinYield::SpinYield(uint spin_limit, uint yield_limit) :
+SpinYield::SpinYield(uint spin_limit, uint yield_limit, uint sleep_ns) :
   _sleep_time(),
   _spins(0),
   _yields(0),
   _spin_limit(os::is_MP() ? spin_limit : 0),
-  _yield_limit(yield_limit)
+  _yield_limit(yield_limit),
+  _sleep_ns(sleep_ns)
 {}
 
 void SpinYield::yield_or_sleep() {
@@ -41,7 +42,7 @@
     os::naked_yield();
   } else {
     Ticks sleep_start = Ticks::now();
-    os::naked_short_sleep(1);
+    os::naked_short_nanosleep(_sleep_ns);
     _sleep_time += Ticks::now() - sleep_start;
   }
 }