処理は VM_ThreadStop を用いて実装されている. 最終的には JavaThread::send_thread_stop() で対象のスレッド内に pending exception を埋め込むことで実現される.
JvmtiEnv::StopThread()
-> Thread::send_async_exception()
-> VMThread::execute()
-> (See: here for details)
-> VM_ThreadStop::doit()
-> JavaThread::send_thread_stop()
-> JavaThread::set_pending_async_exception()
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.