< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp

Print this page
rev 52753 : [backport] 8221435: Shenandoah should not mark through weak roots
Reviewed-by: rkennke, shade

*** 69,85 **** assert(is_enabled(), "String deduplication not enabled"); StringDedupStat dummy; // Statistics from this path is never used StringDedupTable::deduplicate(java_string, &dummy); } ! void ShenandoahStringDedup::parallel_oops_do(OopClosure* cl, uint worker_id) { assert(SafepointSynchronize::is_at_safepoint(), "Must be at a safepoint"); assert(is_enabled(), "String deduplication not enabled"); ShenandoahWorkerTimings* worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times(); ! StringDedupUnlinkOrOopsDoClosure sd_cl(NULL, cl); { ShenandoahWorkerTimingsTracker x(worker_times, ShenandoahPhaseTimings::StringDedupQueueRoots, worker_id); StringDedupQueue::unlink_or_oops_do(&sd_cl); } --- 69,85 ---- assert(is_enabled(), "String deduplication not enabled"); StringDedupStat dummy; // Statistics from this path is never used StringDedupTable::deduplicate(java_string, &dummy); } ! void ShenandoahStringDedup::parallel_oops_do(BoolObjectClosure* is_alive, OopClosure* cl, uint worker_id) { assert(SafepointSynchronize::is_at_safepoint(), "Must be at a safepoint"); assert(is_enabled(), "String deduplication not enabled"); ShenandoahWorkerTimings* worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times(); ! StringDedupUnlinkOrOopsDoClosure sd_cl(is_alive, cl); { ShenandoahWorkerTimingsTracker x(worker_times, ShenandoahPhaseTimings::StringDedupQueueRoots, worker_id); StringDedupQueue::unlink_or_oops_do(&sd_cl); }
< prev index next >