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

Nils Eliasson nils.eliasson at oracle.com
Tue May 28 07:55:41 UTC 2019


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