hotspot/src/share/vm/runtime/thread.cpp
changeset 22533 76088853a2eb
parent 22190 d306a75a70d3
child 22539 a27fa687eca8
equal deleted inserted replaced
22532:1fc87ea15795 22533:76088853a2eb
  4444   for (;;) {
  4444   for (;;) {
  4445      while (*adr != 0) {
  4445      while (*adr != 0) {
  4446         ++ctr ;
  4446         ++ctr ;
  4447         if ((ctr & 0xFFF) == 0 || !os::is_MP()) {
  4447         if ((ctr & 0xFFF) == 0 || !os::is_MP()) {
  4448            if (Yields > 5) {
  4448            if (Yields > 5) {
  4449              // Consider using a simple NakedSleep() instead.
  4449              os::naked_short_sleep(1);
  4450              // Then SpinAcquire could be called by non-JVM threads
       
  4451              Thread::current()->_ParkEvent->park(1) ;
       
  4452            } else {
  4450            } else {
  4453              os::NakedYield() ;
  4451              os::NakedYield() ;
  4454              ++Yields ;
  4452              ++Yields ;
  4455            }
  4453            }
  4456         } else {
  4454         } else {