166 virtual void flush() = 0;
167 protected:
168 CompiledMethod(Method* method, const char* name, CompilerType type, const CodeBlobLayout& layout, int frame_complete_offset, int frame_size, ImmutableOopMapSet* oop_maps, bool caller_must_gc_arguments);
169 CompiledMethod(Method* method, const char* name, CompilerType type, int size, int header_size, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments);
170
171 public:
172 virtual bool is_compiled() const { return true; }
173
174 bool has_unsafe_access() const { return _has_unsafe_access; }
175 void set_has_unsafe_access(bool z) { _has_unsafe_access = z; }
176
177 bool has_method_handle_invokes() const { return _has_method_handle_invokes; }
178 void set_has_method_handle_invokes(bool z) { _has_method_handle_invokes = z; }
179
180 bool is_lazy_critical_native() const { return _lazy_critical_native; }
181 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; }
182
183 bool has_wide_vectors() const { return _has_wide_vectors; }
184 void set_has_wide_vectors(bool z) { _has_wide_vectors = z; }
185
186 enum { in_use = 0, // executable nmethod
187 not_used = 1, // not entrant, but revivable
188 not_entrant = 2, // marked for deoptimization but activations may still exist,
189 // will be transformed to zombie when all activations are gone
190 zombie = 3, // no activations exist, nmethod is ready for purge
191 unloaded = 4 // there should be no activations, should not be called,
192 // will be transformed to zombie immediately
193 };
194
195 virtual bool is_in_use() const = 0;
196 virtual int comp_level() const = 0;
197 virtual int compile_id() const = 0;
198
199 virtual address verified_entry_point() const = 0;
200 virtual void log_identity(xmlStream* log) const = 0;
201 virtual void log_state_change() const = 0;
202 virtual bool make_not_used() = 0;
203 virtual bool make_not_entrant() = 0;
204 virtual bool make_entrant() = 0;
205 virtual address entry_point() const = 0;
206 virtual bool make_zombie() = 0;
|
166 virtual void flush() = 0;
167 protected:
168 CompiledMethod(Method* method, const char* name, CompilerType type, const CodeBlobLayout& layout, int frame_complete_offset, int frame_size, ImmutableOopMapSet* oop_maps, bool caller_must_gc_arguments);
169 CompiledMethod(Method* method, const char* name, CompilerType type, int size, int header_size, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments);
170
171 public:
172 virtual bool is_compiled() const { return true; }
173
174 bool has_unsafe_access() const { return _has_unsafe_access; }
175 void set_has_unsafe_access(bool z) { _has_unsafe_access = z; }
176
177 bool has_method_handle_invokes() const { return _has_method_handle_invokes; }
178 void set_has_method_handle_invokes(bool z) { _has_method_handle_invokes = z; }
179
180 bool is_lazy_critical_native() const { return _lazy_critical_native; }
181 void set_lazy_critical_native(bool z) { _lazy_critical_native = z; }
182
183 bool has_wide_vectors() const { return _has_wide_vectors; }
184 void set_has_wide_vectors(bool z) { _has_wide_vectors = z; }
185
186 enum { not_installed = -1, // in construction, only the owner doing the construction is
187 // allowed to advance state
188 in_use = 0, // executable nmethod
189 not_used = 1, // not entrant, but revivable
190 not_entrant = 2, // marked for deoptimization but activations may still exist,
191 // will be transformed to zombie when all activations are gone
192 zombie = 3, // no activations exist, nmethod is ready for purge
193 unloaded = 4 // there should be no activations, should not be called,
194 // will be transformed to zombie immediately
195 };
196
197 virtual bool is_in_use() const = 0;
198 virtual int comp_level() const = 0;
199 virtual int compile_id() const = 0;
200
201 virtual address verified_entry_point() const = 0;
202 virtual void log_identity(xmlStream* log) const = 0;
203 virtual void log_state_change() const = 0;
204 virtual bool make_not_used() = 0;
205 virtual bool make_not_entrant() = 0;
206 virtual bool make_entrant() = 0;
207 virtual address entry_point() const = 0;
208 virtual bool make_zombie() = 0;
|