RFR (S) : JDK-8007736 - VerifyError for use of static method in interface
mandy.chung at oracle.com
Wed Feb 13 17:29:34 UTC 2013
I'm including core-libs-dev so that they know this fix is coming.
The jdk change looks okay to me. Minor nit: L1250-1251: some
identation will help. You can follow the original formatting - breaking
'?' and ':" in the newlines.
Can you include the new regression test in the jdk repo as well
(test/vm/verifier directory)? That'll make sure this test is run by
core-libs and JPRT job (it's part of the default testset).
On 2/12/2013 7:44 PM, S. Bharadwaj Yadavalli wrote:
> 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
> 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 :
> jdk8/tl/jdl tree :
> 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.
More information about the core-libs-dev