RFR (M): JDK-8004967 - Default method cause java.lang.VerifyError: Illegal use of nonvirtual function call (original) (raw)
Bharadwaj Yadavalli bharadwaj.yadavalli at oracle.com
Thu Jan 17 00:47:14 UTC 2013
- Previous message: RFR (M): JDK-8004967 - Default method cause java.lang.VerifyError: Illegal use of nonvirtual function call
- Next message: RFR (M): JDK-8004967 - Default method cause java.lang.VerifyError: Illegal use of nonvirtual function call
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 1/16/2013 3:50 PM, Dean Long wrote:
Don't you need to change the split verifier as well?
Looks like the a corresponding change is already in http://hg.openjdk.java.net/jdk8/tl/hotspot/diff/4735d2c84362/src/share/vm/classfile/verifier.cpp. It bypasses verification of an overpass method (determined by the method type being ConstMethod::OVERPASS).
It would be consistent to use the same set of verification tests in the old and new verifiers. But, I do not see a JVM_* query that would give me the method type to use in verification of methods in check_code.c. Does anyone know of a way to get this info via JVM_* query? For now, it appears to me that checking access flags as I did in the webrev would be sufficient in the old verifier code.
Bharadwaj
- Previous message: RFR (M): JDK-8004967 - Default method cause java.lang.VerifyError: Illegal use of nonvirtual function call
- Next message: RFR (M): JDK-8004967 - Default method cause java.lang.VerifyError: Illegal use of nonvirtual function call
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]