RFR 8225337 [lworld] TestNewAcmp.java fails with C1 when java.lang.ClassValue::* are compiled
Ioi Lam
ioi.lam at oracle.com
Mon Jun 10 05:02:41 UTC 2019
https://bugs.openjdk.java.net/browse/JDK-8225337
http://cr.openjdk.java.net/~iklam/valhalla/8225337-acmp-wrong-call-to-ValueBootstrapMethods-isSubstitutable.v01/
In C1, when an acmp operation cannot be handled in-line, we make a call
to ValueBootstrapMethods::isSubstitutable. We the call is made,
registers are
spilled onto the stack. However, the call is made only conditionally, but
C1's register allocator can't handle this -- it think the registers are
spilled
for all possible paths taken by the acmp operation.
The fix is to move the call into a new SubstitutabilityCheckStub. That's the
standard way of how C1 handles a slow path.
Thanks
- Ioi
More information about the valhalla-dev
mailing list