(See: JVMTI 仕様)
GarbageCollectionStart イベントの処理は JvmtiGCMarker クラスによって行われる (See: JvmtiGCMarker, SvcGCMarker).
(略) (See: here for details) -> VM_GenCollectForAllocation::doit() -> SvcGCMarker::SvcGCMarker() -> JvmtiGCMarker::JvmtiGCMarker() -> JvmtiExport::post_garbage_collection_start() -> (登録されているコールバックを呼び出す) (略) -> VM_GenCollectFull::doit() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) -> VM_GenCollectForPermanentAllocation::doit() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) -> CMSCollector::do_CMS_operation() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) (See: here for details) -> VM_ParallelGCFailedAllocation::doit() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) (See: here for details) -> VM_ParallelGCFailedPermanentAllocation::doit() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) (See: here for details) -> VM_ParallelGCSystemGC::doit() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) -> ConcurrentMark::checkpointRootsFinal() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) -> G1CollectedHeap::do_collection() -> SvcGCMarker::SvcGCMarker() -> (同上) (略) -> G1CollectedHeap::do_collection_pause_at_safepoint() -> SvcGCMarker::SvcGCMarker() -> (同上)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.