RFR: [8u] 8087342: crash in klassItable_initialize_itable_for_interface

Karen Kinnear karen.kinnear at oracle.com
Fri Jan 27 15:56:24 UTC 2017


David Holmes,

Java 8 allowed private interface methods in generated code. Specifically the lambda metafactory used
them, so from a JVM perspective, they need to be supported. 

David Buck,

Many thanks for back porting. It was a good idea to back port the 8067480 changes to keep
the arguments consistent - the complexity was getting too messy.

The code changes look great!

Questions/Comments:


1) copyright in  TestStaticAndInstance.java would now be 2015,2017
2) You said you back ported most of 8087342 - what part did you not back port?
3) testing - In addition to the specific test here, did you run the defmeth tests and the SelectionResolution tests?

thanks,
Karen



> On Jan 26, 2017, at 7:22 PM, David Holmes <david.holmes at oracle.com> wrote:
> 
> Hi David,
> 
> We don't allow private interface methods in Java 8 at the language level. So I'm not clear what should be expected here. ??
> 
> Thanks,
> David H.
> 
> On 27/01/2017 12:04 AM, David Buck wrote:
>> Hi!
>> 
>> Please review this backport of 8087342 to 8u-dev.
>> 
>> bug report: https://bugs.openjdk.java.net/browse/JDK-8087342
>> 
>> JDK 9 push: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/5e09f372116b
>> 
>> JDK 9 review thread (2 parts):
>> 
>> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2015-July/015436.html
>> 
>> 
>> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2015-August/015602.html
>> 
>> 
>> JDK 8u webrev: http://cr.openjdk.java.net/~dbuck/8087342_01/
>> 
>> The backport was relatively straightforward. The only minor complication
>> was the refactoring done as part of 8067480 [0]. 8067480 itself did not
>> need to be backported from 9 to 8u because that issue did not apply to
>> 8u by the time it was fixed in 9. But the refactoring done for 8067480
>> seemed to be the only reasonable way to backport 8087342 and keep the
>> code readable. (If I had just added yet another bool flag to each of
>> these methods, it would have been *way* to easy to get parameters
>> confused.)
>> 
>> So the best way to look at this changeset is as a backport of both
>> 8087342 and (most of) 8067480.
>> 
>> [0]
>> https://bugs.openjdk.java.net/browse/JDK-8067480
>> http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/d656b4c91d51
>> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2015-January/013717.html
>> 
>> 
>> Cheers,
>> -Buck



More information about the hotspot-runtime-dev mailing list