RFR (S) : JDK-8007736 - VerifyError for use of static method in interface

S. Bharadwaj Yadavalli bharadwaj.yadavalli at oracle.com
Tue Feb 12 19:44:23 PST 2013


On 2/12/2013 2:17 PM, Karen Kinnear wrote:
> Code looks good. I like this length of test too :-)

Thanks for the review, Karen.

> Please check -XX:-UseSplitVerifier to see if we also need to fix the old verifier for new
> classfiles.

I checked with -XX:-UseSplitVerifier and found that I needed to fix the 
old verifier.

I updated the webrev with my changes which now need to be made to jdk 
tree as well as hotspot tree.
The changes to hotspot tree remain the same as reviewed previously by 
David Holmes, Krystal Mo and
Remi Forax.

Please review the jdk tree changes (to the old verifier).

Updated webrevs
        hotspot-rt tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/hotspot-rt/webrev
        jdk8/tl/jdl tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/

Bug fixed    : https://jbs.oracle.com/bugs/browse/JDK-8007736

Summary of changes :
      Java 8 allows public static interface methods. To accommodate
for this, the proposed change modifies bytecode verification of Java
8 classfiles to allow invokestatic to refer to static interface
methods in CONSTANT_InterfaceMethodref as well as static class
methods in CONSTANT_Methodref.

New test added :
      A new jtreg test in hotspot/test/runtime is added.

Thanks,

Bharadwaj



More information about the hotspot-runtime-dev mailing list