hotspot/src/share/vm/runtime/frame.cpp
bool frame::is_first_java_frame() const {
{- -------------------------------------------
(1) 現在のフレームと entry frame(JavaCalls 経由で Java コードを呼んだときに積まれるダミーのフレーム) の間に
1つも java frame がなければ true を返す.
(なお実際の判定としては, java frame か entry frame にあたるまでスタックフレームをさかのぼり,
突き当たった先が entry frame であれば (= is_entry_frame() が true ならば) true を返す)
---------------------------------------- -}
RegisterMap map(JavaThread::current(), false); // No update
frame s;
for (s = sender(&map); !(s.is_java_frame() || s.is_first_frame()); s = s.sender(&map));
return s.is_first_frame();
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.