RFR(XS): 8224538: LoadBarrierNode::common_barrier must check address

Nils Eliasson nils.eliasson at oracle.com
Tue May 28 16:24:24 UTC 2019


I'll update the webrev.

This fixes the crash in RunThese - and that was with ZGC. The other 
crashes are from sparkexamples-application.

When I push this patch we need to open a new bug for that crash.

Thanks,

Nils


On 2019-05-28 17:12, Tobias Hartmann wrote:
> Hi Nils,
>
> this looks reasonable to me but please add parentheses around the == expression.
>
>  From the failure history it looks like this failure also showed up without ZGC?
>
> Thanks,
> Tobias
>
> On 28.05.19 09:55, Nils Eliasson wrote:
>> Hi,
>>
>> This is patch fixes a problem in LoadBarrierNode::common_barriers that can lead to broken IRs in
>> some very rare cases. The common barrier optimizations tries to merge two barriers if they have the
>> same oop-in, and there is a site in the control flow where they can be merged. The problem is that
>> it doesn't check the address too, it might be pinned by checkcast nodes.
>>
>> In the failing IR the address is the same if it is traced upwards, but it isn't obvious which
>> checkcast nodes can be skipped. Since the common_barriers optimization is removed in the late
>> loadbarrier insertion patch, I choose to create a good-enough fix that can be easily backported. I
>> will make sure to push this fix before the late loadbarrier patch.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224538
>>
>> Webrev: http://cr.openjdk.java.net/~neliasso/8224538/webrev.01/
>>
>> Regards,
>>
>> Nils
>>


More information about the hotspot-compiler-dev mailing list