RFR soon: Lambda: 8011311: support for private interface methods
Lois Foltan
lois.foltan at oracle.com
Mon Sep 30 15:30:56 PDT 2013
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