RFR soon: Lambda: 8011311: support for private interface methods

Karen Kinnear karen.kinnear at oracle.com
Mon Sep 30 15:39:17 PDT 2013


Lois,

Thank you for the review. I adopted both of your suggestions.

Is there a way to list you as a reviewer without an openjdk name?

thanks,
Karen

On Sep 30, 2013, at 6:30 PM, Lois Foltan wrote:

> Hi Karen,
> 
> I think you changes look good.  I have two minor formatting comments;
> 
> defaultMethods.cpp
>    - line #968 remove space after "(".
> 
> linkResolver.cpp
>    - line #1186 extra space in comment after "sel_method"
> 
> I have also applied your patches as well to my work, thank you!
> Lois
> 
> On 9/27/2013 8:36 PM, Karen Kinnear wrote:
>> 
>> Please review soon - the goal is to check this in Monday or Tuesday.
>> 
>> http://cr.openjdk.java.net/~acorn/8011311.8014013.01/webrev/ <http://cr.openjdk.java.net/%7Eacorn/8011311.8014013.01/webrev/>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8011311
>> 
>> Based on JVMS update for default method support for lambda, version 0.6.3 and bug JDK-8025604:
>> http://cr.openjdk.java.net/~dlsmith/jsr335-0.6.3/ <http://cr.openjdk.java.net/%7Edlsmith/jsr335-0.6.3/>
>> Part J: Java Virtual Machine
>> 
>> Summary of changes
>> 1. added private interface method support
>>   - which can only be invoked via invokespecial directly on the interface method reference containing the private method
>> 2. invokevirtual and invokeinterface throw IncompatibleclassChangeError if they attempt to reference a private interface method
>> 3. conflicting default methods throw ICCE rather than AbstractMethodError
>> 4. invokespecial superinterface.method no longer performs additional check for shadowing of superinterfaces
>> 5. added some debug tracing
>> 
>> 
>> Note: vmsqe defmeth tests: PrivateMethodsTest updated to cover these cases.
>> 
>> Testing: with JDK-8012557 to actually generate internal private interface methods (javac won't generate them)
>> 1. specific test for 8011311
>> 2. defmeth PrivateMethodsTest
>> 3. reflection invocation test
>> (16th and subsequent reflection success depends on an upcoming change to the jdk repository)
>> 4. internal TypeTest.java - in conjunction with JDK-8012557 changes
>> 5. 8025475 sample test - depends on upcoming javac/metafactory changes in JDK-8012557
>> 6. 8014013 intfbug
>> 7. invokespecial, invokevirtual, invokeinterface tests (filed bug for recently broken issue: JDK-8025592)
>> 8. lambda DefaultMethodsTest - 3 tests need updating for AME->ICCE spec change
>> 9. jtreg java.util, java.lang
>> 10. jck lang
>> 11. jck vm:
>>   need to file a new JCK bug for 8 tests which need to change due to spec update, resolveIntMethod, resolveMethod in vm.constantpool
>>   for private and static methods in interfaces, relative to spec bug JDK-8025604
>> 12. vm.quick.testlist
>> 13. vm.mlvm.testlist
>> 14. jprt in progress
>> 
>> thanks,
>> Karen
>> 
> 



More information about the hotspot-runtime-dev mailing list