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