comparison src/share/vm/classfile/verifier.hpp @ 1570:de91a2f25c7e

6956164: nightly regressions from 6939207 Summary: Fix errors in 6939207. Reviewed-by: kvn
author jrose
date Thu, 27 May 2010 09:54:07 -0700
parents ad6585fd4087
children e9ff18c4ace7
comparison
equal deleted inserted replaced
1569:f9a202dd8899 1570:de91a2f25c7e
155 bool name_in_supers(symbolOop ref_name, instanceKlassHandle current); 155 bool name_in_supers(symbolOop ref_name, instanceKlassHandle current);
156 156
157 instanceKlassHandle _klass; // the class being verified 157 instanceKlassHandle _klass; // the class being verified
158 methodHandle _method; // current method being verified 158 methodHandle _method; // current method being verified
159 VerificationType _this_type; // the verification type of the current class 159 VerificationType _this_type; // the verification type of the current class
160
161 // Some recursive calls from the verifier to the name resolver
162 // can cause the current class to be re-verified and rewritten.
163 // If this happens, the original verification should not continue,
164 // because constant pool indexes will have changed.
165 // The rewriter is preceded by the verifier. If the verifier throws
166 // an error, rewriting is prevented. Also, rewriting always precedes
167 // bytecode execution or compilation. Thus, is_rewritten implies
168 // that a class has been verified and prepared for execution.
169 bool was_recursively_verified() { return _klass->is_rewritten(); }
160 170
161 public: 171 public:
162 enum { 172 enum {
163 BYTECODE_OFFSET = 1, 173 BYTECODE_OFFSET = 1,
164 NEW_OFFSET = 2 174 NEW_OFFSET = 2