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