hotspot/src/share/vm/prims/jvmtiEnv.cpp
// max_frame_count - pre-checked to be greater than or equal to 0
// stack_info_ptr - pre-checked for NULL
// thread_count_ptr - pre-checked for NULL
jvmtiError
JvmtiEnv::GetAllStackTraces(jint max_frame_count, jvmtiStackInfo** stack_info_ptr, jint* thread_count_ptr) {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
jvmtiError err = JVMTI_ERROR_NONE;
JavaThread* calling_thread = JavaThread::current();
{- -------------------------------------------
(1) VM_GetAllStackTraces でスタックトレース情報を取得する.
---------------------------------------- -}
// JVMTI get stack traces at safepoint.
VM_GetAllStackTraces op(this, calling_thread, max_frame_count);
VMThread::execute(&op);
{- -------------------------------------------
(1) 取得した結果を引数で渡されたポインタ及び返値にセットする.
---------------------------------------- -}
*thread_count_ptr = op.final_thread_count();
*stack_info_ptr = op.stack_info();
err = op.result();
{- -------------------------------------------
(1) リターン
---------------------------------------- -}
return err;
} /* end GetAllStackTraces */
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.