RFR: Rewrite and fix ShenandoahHeap::marked_object_iterate

Aleksey Shipilev shade at redhat.com
Wed Oct 18 14:07:52 UTC 2017


http://cr.openjdk.java.net/~shade/shenandoah/markscan-tams-bug/webrev.02/

This is the follow-up for the bug that Zhengyu found:
  http://mail.openjdk.java.net/pipermail/shenandoah-dev/2017-October/004049.html

Our attempts to fix it in current code makes the code even more messy, so it makes sense to rewrite
that method completely, in a saner structure. It fixes the bug Zhengyu originally found by having
the explicit past-TAMS scanning step that restarts at TAMS. This also covers the non-prefetched
path, as Dominik suggested. The bitmap scan is rewritten to guarantee to touch below-TAMS objects only.

Please take a hard look at the code. I am thinking if it is possible to unit-test this thing...

Testing: hotspot_gc_shenandoah {fastdebug|release}

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list