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