Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/verifier.hpp @ 13401:22eaa15b7960
8026065: InterfaceMethodref for invokespecial must name a direct superinterface
Summary: Add verification to check that invokespecial of an InterfaceMethodref names a method in a direct superinterface of the current class or interface in accordance with JSR 335, JVMS 4.9.2 Structural Constraints.
Reviewed-by: acorn, hseigel, coleenp
Contributed-by: lois.foltan@oracle.com
author | hseigel |
---|---|
date | Tue, 26 Nov 2013 09:52:22 -0500 |
parents | ef57c43512d6 |
children | aff11567504c 78bbf4d43a14 |
comparison
equal
deleted
inserted
replaced
13400:86e6d691f2e1 | 13401:22eaa15b7960 |
---|---|
342 // The rewriter is preceded by the verifier. If the verifier throws | 342 // The rewriter is preceded by the verifier. If the verifier throws |
343 // an error, rewriting is prevented. Also, rewriting always precedes | 343 // an error, rewriting is prevented. Also, rewriting always precedes |
344 // bytecode execution or compilation. Thus, is_rewritten implies | 344 // bytecode execution or compilation. Thus, is_rewritten implies |
345 // that a class has been verified and prepared for execution. | 345 // that a class has been verified and prepared for execution. |
346 bool was_recursively_verified() { return _klass->is_rewritten(); } | 346 bool was_recursively_verified() { return _klass->is_rewritten(); } |
347 | |
348 bool is_same_or_direct_interface(instanceKlassHandle klass, | |
349 VerificationType klass_type, VerificationType ref_class_type); | |
347 | 350 |
348 public: | 351 public: |
349 enum { | 352 enum { |
350 BYTECODE_OFFSET = 1, | 353 BYTECODE_OFFSET = 1, |
351 NEW_OFFSET = 2 | 354 NEW_OFFSET = 2 |