From 72d1066ae385ce511a70e762ed68afaa72e96ec4 Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Wed, 6 Aug 2025 12:21:16 +0000 Subject: [PATCH] 8364722: Parallel: Move CLDG mark clearing to the end of full GC Reviewed-by: tschatzl, zgu --- src/hotspot/share/gc/parallel/psParallelCompact.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hotspot/share/gc/parallel/psParallelCompact.cpp b/src/hotspot/share/gc/parallel/psParallelCompact.cpp index 1e4f7c856b0..b549c61e1c0 100644 --- a/src/hotspot/share/gc/parallel/psParallelCompact.cpp +++ b/src/hotspot/share/gc/parallel/psParallelCompact.cpp @@ -685,6 +685,9 @@ void PSParallelCompact::post_compact() CodeCache::on_gc_marking_cycle_finish(); CodeCache::arm_all_nmethods(); + // Need to clear claim bits for the next full-gc (marking and adjust-pointers). + ClassLoaderDataGraph::clear_claimed_marks(); + for (unsigned int id = old_space_id; id < last_space_id; ++id) { // Clear the marking bitmap, summary data and split info. clear_data_covering_space(SpaceId(id)); @@ -1288,9 +1291,6 @@ void PSParallelCompact::marking_phase(ParallelOldTracer *gc_tracer) { ClassLoaderDataGraph::purge(true /* at_safepoint */); DEBUG_ONLY(MetaspaceUtils::verify();) } - - // Need to clear claim bits for the next mark. - ClassLoaderDataGraph::clear_claimed_marks(); } {