(See: JVMTI 仕様)
GarbageCollectionFinish イベントの処理は JvmtiGCMarker クラスによって行われる (See: JvmtiGCMarker, SvcGCMarker).
(略) (See: here for details) -> VM_GenCollectForAllocation::doit() -> SvcGCMarker::~SvcGCMarker() -> JvmtiGCMarker::~JvmtiGCMarker() -> JvmtiExport::post_garbage_collection_finish() -> (登録されているコールバックを呼び出す) (略) -> 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.