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