[11] RFR: Clean up Shenandoah GC epilogue
Roman Kennke
rkennke at redhat.com
Mon Aug 12 19:29:15 UTC 2019
Ok!
Thanks,
Roman
> Recent sh/jdk11 backports added JvmtiExport::gc_epilogue to ShenandoahMarkCompact twice. Funnily,
> there is no such call in other Shenandoah code, and that is not catastrophic, because that call is
> not even needed starting the very early JDK 8 (see JDK-8225437). So, I would like to remove it. It
> is already gone in jdk/jdk, so this is 11-shenandoah fix.
>
> While we are at it, move CodeCache::gc_epilogue into the same epilogue block. That call is also gone
> in jdk/jdk, so this is again 11-shenandoah fix.
>
> We would do the same for sh/jdk8, after LRB/nofwdptr gets there.
>
> Fix:
>
> diff -r 784ce5186930 src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Mon Aug 12 12:07:29 2019 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Mon Aug 12 21:14:06 2019 +0200
> @@ -174,11 +174,11 @@
> SharedRestorePreservedMarksTaskExecutor exec(heap->workers());
> _preserved_marks->restore(&exec);
> BiasedLocking::restore_marks();
> _preserved_marks->reclaim();
>
> - JvmtiExport::gc_epilogue();
> + CodeCache::gc_epilogue();
> }
>
> // Resize metaspace
> MetaspaceGC::compute_new_size();
>
> @@ -186,13 +186,10 @@
> for (uint i = 0; i < heap->max_workers(); i++) {
> delete worker_slices[i];
> }
> FREE_C_HEAP_ARRAY(ShenandoahHeapRegionSet*, worker_slices);
>
> - CodeCache::gc_epilogue();
> - JvmtiExport::gc_epilogue();
> -
> heap->set_full_gc_move_in_progress(false);
> heap->set_full_gc_in_progress(false);
>
> if (ShenandoahVerify) {
> heap->verifier()->verify_after_fullgc();
>
> Testing: hotspot_gc_shenandoah
>
More information about the shenandoah-dev
mailing list