RFR [8]: Degenerated GC

Aleksey Shipilev shade at redhat.com
Wed Feb 28 11:10:15 UTC 2018


http://cr.openjdk.java.net/~shade/shenandoah/8u-degenerated-gc/webrev.01/

I have finally managed to backport Degenerated GC to sh/jdk8u, and this was the only outstanding
feature to backport. The failures I mentioned before were caused by special handling for
SurrogateLockerThread that is 8u-only [1]. When that is resolved [2], the tests start to pass.

Testing: hotspot_gc_shenandoah {fastdebug|release}, specjvm runs with verification

Thanks,
-Aleksey

[1] http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/8716f1b84d2f
[2] Because SLT handling in handle_alloc_failure_evac drops evac_in_progress, this is the fix:

  if (heap->is_evacuation_in_progress()) {
    heap->entry_evac();

-   if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_evac)) return;
  }

+ // Capture evacuation failures that might have happened during pre-evac in final mark.
+ // In this case, SLT handling would drop evac-in-progress, and we miss it if we are
+ // checking under the branch above.
+ if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_evac)) return;



More information about the shenandoah-dev mailing list