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