hotspot/src/share/vm/runtime/interfaceSupport.hpp
// Another special case for nmethod_entry_point so the nmethod that the
// interpreter is about to branch to doesn't get flushed before as we
// branch to it's interpreter_entry_point. Skip stress testing here too.
// Also we don't allow async exceptions because it is just too painful.
#define IRT_ENTRY_FOR_NMETHOD(result_type, header) \
{- -------------------------------------------
(1) (関数定義の関数名および型宣言部が生成される)
---------------------------------------- -}
result_type header { \
{- -------------------------------------------
(1) (変数宣言など)
(See: nmethodLocker)
(See: ThreadInVMfromJavaNoAsyncException)
---------------------------------------- -}
nmethodLocker _nmlock(nm); \
ThreadInVMfromJavaNoAsyncException __tiv(thread); \
{- -------------------------------------------
(1) __ENTRY() マクロのコードが展開される
---------------------------------------- -}
__ENTRY(result_type, header, thread)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.