197
198 bool is_lazy_critical_native() const { return _lazy_critical_native; }
199 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; }
200
201 bool has_wide_vectors() const { return _has_wide_vectors; }
202 void set_has_wide_vectors(bool z) { _has_wide_vectors = z; }
203
204 enum { not_installed = -1, // in construction, only the owner doing the construction is
205 // allowed to advance state
206 in_use = 0, // executable nmethod
207 not_used = 1, // not entrant, but revivable
208 not_entrant = 2, // marked for deoptimization but activations may still exist,
209 // will be transformed to zombie when all activations are gone
210 zombie = 3, // no activations exist, nmethod is ready for purge
211 unloaded = 4 // there should be no activations, should not be called,
212 // will be transformed to zombie immediately
213 };
214
215 virtual bool is_in_use() const = 0;
216 virtual int comp_level() const = 0;
217 virtual int compile_id() const = 0;
218
219 virtual address verified_entry_point() const = 0;
220 virtual address verified_value_entry_point() const = 0;
221 virtual address verified_value_ro_entry_point() const = 0;
222 virtual void log_identity(xmlStream* log) const = 0;
223 virtual void log_state_change() const = 0;
224 virtual bool make_not_used() = 0;
225 virtual bool make_not_entrant() = 0;
226 virtual bool make_entrant() = 0;
227 virtual address entry_point() const = 0;
228 virtual bool make_zombie() = 0;
229 virtual bool is_osr_method() const = 0;
230 virtual int osr_entry_bci() const = 0;
231 Method* method() const { return _method; }
232 virtual void print_pcs() = 0;
233 bool is_native_method() const { return _method != NULL && _method->is_native(); }
234 bool is_java_method() const { return _method != NULL && !_method->is_native(); }
235
236 // ScopeDesc retrieval operation
|
197
198 bool is_lazy_critical_native() const { return _lazy_critical_native; }
199 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; }
200
201 bool has_wide_vectors() const { return _has_wide_vectors; }
202 void set_has_wide_vectors(bool z) { _has_wide_vectors = z; }
203
204 enum { not_installed = -1, // in construction, only the owner doing the construction is
205 // allowed to advance state
206 in_use = 0, // executable nmethod
207 not_used = 1, // not entrant, but revivable
208 not_entrant = 2, // marked for deoptimization but activations may still exist,
209 // will be transformed to zombie when all activations are gone
210 zombie = 3, // no activations exist, nmethod is ready for purge
211 unloaded = 4 // there should be no activations, should not be called,
212 // will be transformed to zombie immediately
213 };
214
215 virtual bool is_in_use() const = 0;
216 virtual int comp_level() const = 0;
217 virtual bool is_c1() const { return false; }
218 virtual int compile_id() const = 0;
219
220 virtual address verified_entry_point() const = 0;
221 virtual address verified_value_entry_point() const = 0;
222 virtual address verified_value_ro_entry_point() const = 0;
223 virtual void log_identity(xmlStream* log) const = 0;
224 virtual void log_state_change() const = 0;
225 virtual bool make_not_used() = 0;
226 virtual bool make_not_entrant() = 0;
227 virtual bool make_entrant() = 0;
228 virtual address entry_point() const = 0;
229 virtual bool make_zombie() = 0;
230 virtual bool is_osr_method() const = 0;
231 virtual int osr_entry_bci() const = 0;
232 Method* method() const { return _method; }
233 virtual void print_pcs() = 0;
234 bool is_native_method() const { return _method != NULL && _method->is_native(); }
235 bool is_java_method() const { return _method != NULL && !_method->is_native(); }
236
237 // ScopeDesc retrieval operation
|