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

Karen Kinnear karen.kinnear at oracle.com
Fri Sep 27 17:36:08 PDT 2013


Please review soon - the goal is to check this in Monday or Tuesday.

http://cr.openjdk.java.net/~acorn/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/
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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130927/813cb505/attachment.html 


More information about the hotspot-runtime-dev mailing list