Happy path

Aleksey Shipilev shade at redhat.com
Thu Apr 26 12:24:00 UTC 2018


On 04/26/2018 12:55 PM, Roland Westrelin wrote:
> 
>> There are, however, some interesting cases with barrier merging. For example, BarrierMultiplePrim
>> test from gc-bench [1] indicates the back-to-back WB coalescing is broken:
>>   http://cr.openjdk.java.net/~shade/shenandoah/happy-path-wb/baseline.perfasm
>>   http://cr.openjdk.java.net/~shade/shenandoah/happy-path-wb/happy.perfasm
> 
> It seems there are null checks between the barriers. Even though they
> are implict null checks in the final code, they are are actual control
> flow constructs in the IR. That's sufficient to stop coalescing. The
> other part of the patch with agressive coalescing should clone the null
> checks and coalesce the barriers.

And coalescing worked before this patch, because we treated the null-checks specially?

I think the patch is fine to go in current form, plus the little "mask" fix we discussed before.

-Aleksey



More information about the shenandoah-dev mailing list