8224495: Shenandoah: Do not rescan code roots in final mark pause if it is not degenerated GC

Reviewed-by: shade
This commit is contained in:
Zhengyu Gu 2019-05-21 13:06:52 -04:00
parent d1145fa663
commit 55ba58b1c8

View File

@ -227,9 +227,12 @@ public:
rp = NULL;
}
// Degenerated cycle may bypass concurrent cycle, so code roots might not be scanned,
// let's check here.
_cm->concurrent_scan_code_roots(worker_id, rp);
if (heap->is_degenerated_gc_in_progress()) {
// Degenerated cycle may bypass concurrent cycle, so code roots might not be scanned,
// let's check here.
_cm->concurrent_scan_code_roots(worker_id, rp);
}
_cm->mark_loop(worker_id, _terminator, rp,
false, // not cancellable
_dedup_string);