RFR: Rewrite and fix ShenandoahHeap::marked_object_iterate

Aleksey Shipilev shade at redhat.com
Wed Oct 18 17:19:35 UTC 2017


On 10/18/2017 04:34 PM, Zhengyu Gu wrote:
> 547         if (cb < tams) {
> 548           cb = mark_bit_map->getNextMarkedWordAddress(cb, end);
> 549         }
> 
> I recall when I added additional test/branch with avoiding filler evacuation experiment, I saw
> noticeable performance regression.
> 
> By replacing line #548:
> 
>    cb = mark_bit_map->getNextMarkedWordAddress(cb, bitmap_limit + skip_bitmap_delta);
> 
> we can avoid cb < tams check.

I don't see performance regressions, but we can indeed make smarter bitmap scans:
  http://cr.openjdk.java.net/~shade/shenandoah/markscan-tams-bug/webrev.03/

Have still to convince myself it works. Added the test.

Thanks,
-Aleksey





More information about the shenandoah-dev mailing list