[10] RFR(XS): 8169766: c1 + Xcomp reresolving call target every invocation

Nils Eliasson nils.eliasson at oracle.com
Mon Aug 7 14:16:40 UTC 2017


Hi,

Please review this patch.

In bug https://bugs.openjdk.java.net/browse/JDK-8160543 I changed the 
behaviour for some calls in c1 generated code to make it comply with the 
VM-spec - LinkageError must be thrown before NPE.

One detail was missed in that fix: Some calls, that was static bound and 
became optimized virtual calls, now became vanilla virtual calls. The 
virtual calls use the unverified entry, but for the static_bound calls 
the reciever_klass was not set making the receiver check fail on every 
invocation.

This scenario is only common with Xcomp when methods are compiled that 
have call targets that have not been run earlier. Also a c1 thing, c2 
uses uncommontraps for this case.

Bug: https://bugs.openjdk.java.net/browse/JDK-8160543

Webrev: http://cr.openjdk.java.net/~neliasso/8169766/webrev.01/

Regards,

Nils Eliasson



More information about the hotspot-compiler-dev mailing list