Mercurial > hg > truffle
comparison src/share/vm/classfile/verifier.hpp @ 1579:e9ff18c4ace7
Merge
author | jrose |
---|---|
date | Wed, 02 Jun 2010 22:45:42 -0700 |
parents | c18cbe5936b8 de91a2f25c7e |
children | 136b78722a08 |
comparison
equal
deleted
inserted
replaced
1562:dfe27f03244a | 1579:e9ff18c4ace7 |
---|---|
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 |