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