RFR (L) : 8014013 : CallInfo structure no longer accurately reports the result of a LinkResolver operation

David Chase david.r.chase at oracle.com
Thu Aug 15 09:05:49 PDT 2013


Webrev: http://cr.openjdk.java.net/~drchase/8014013/webrev.01/

Bug: The addition of interface (default) methods made the old way
of resolving method invocation not be right. 
In addition, the code was fiddly and distributed through the source.
See also duplicate 7086758,
"MethodHandles.Lookup.findVirtual is confused by interface methods that are multiply inherited"

Fix: Enhance method resolution (add "CallKind")
and the data structures for reporting resolution results,
and centralize the process as much as possible.

Testing:

Note: this fix is bug-for-bug-compatible with current on jdk/lambda/vm/DefaultMethodsTest.java 

64-bit Intel (MacOS):
jtreg - compiler
jtreg - jdk/{lib,sun,java/util, java/lang, jdk}
ute/tonga - vm.quick.testlist

32-bit Intel (Ubuntu)
Point checks on all the corner cases from the 64-bit testing.
(jck60008, b7087658)
jtreg - jdk/{java/util, java/lang, jdk}

Solaris-sparc
jtreg - jdk/{java/util, java/lang, jdk}

Also compiled on Windows/VS2010 w/ JPRT.




More information about the hotspot-compiler-dev mailing list