これは Java のプログラム中で java.lang.System.exit() が呼び出された場合の処理.
Java のレベルでは, 最終的には java.lang.Shutdown オブジェクトに行き着き, 以下の処理が実行される.
(#Under Construction)
最終的には exit() システムコールを呼ぶことで終了する.
java.lang.System.exit()
-> java.lang.Runtime.exit()
-> java.lang.Shutdown.exit()
-> java.lang.Shutdown.sequence()
-> java.lang.Shutdown.halt() (← ここまでが Java の世界. 以下は HotSpot 内部の世界)
-> Java_java_lang_Shutdown_halt0()
-> JVM_Halt()
-> before_exit()
-> vm_exit()
-> VM_Exit::doit() (← ここは飛ばしていきなり vm_direct_exit() に行くパスもある)
-> vm_direct_exit()
-> exit()
JVM_Exit() という関数も存在し, この中でも before_exit() や vm_exit() が呼ばれている. が, JVM_Exit() 自体がどこからも呼ばれていない模様...
(コメントを見るかぎりでは java.lang.System() 用の CVMI 関数のようだが...).
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
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.