hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.cpp
extern "C" int SpinPause () {
{- -------------------------------------------
(1) x86-64 の場合には, 即座にリターンするだけ.
そうでなければ, pause 命令 を実行してからリターン.
(なぜ x86-64 では pause を使わない?? #TODO)
(なおコメントには, x86 での pause 命令は rep:nop と同じオペコードであり,
これを認識しない古いプロセッサ上でも単に nop と見なされるだけ, という話が書かれている.)
---------------------------------------- -}
#ifdef AMD64
return 0 ;
#else
// pause == rep:nop
// On systems that don't support pause a rep:nop
// is executed as a nop. The rep: prefix is ignored.
_asm {
pause ;
};
return 1 ;
#endif // AMD64
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.