223 virtual address handler_table_end() const { return _meta->handler_table_end(); }
224
225 virtual address nul_chk_table_begin() const { return _meta->nul_chk_table_begin(); }
226 virtual address nul_chk_table_end() const { return _meta->nul_chk_table_end(); }
227
228 virtual address consts_begin() const { return _meta->consts_begin(); }
229 virtual address consts_end() const { return _meta->consts_end(); }
230
231 virtual address stub_begin() const { return code_begin() + _meta->stub_offset(); }
232 virtual address stub_end() const { return code_end(); }
233
234 virtual oop* oop_addr_at(int index) const { ShouldNotReachHere(); return NULL; }
235 virtual Metadata** metadata_addr_at(int index) const { ShouldNotReachHere(); return NULL; }
236
237 // Accessor/mutator for the original pc of a frame before a frame was deopted.
238 address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
239 void set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
240
241 #ifdef HOTSWAP
242 // Flushing and deoptimization in case of evolution
243 void flush_evol_dependents_on(instanceKlassHandle dependee);
244 #endif // HOTSWAP
245
246 virtual void metadata_do(void f(Metadata*));
247
248 bool metadata_got_contains(Metadata **p) {
249 return p >= &_metadata_got[0] && p < &_metadata_got[_metadata_size];
250 }
251
252 Metadata** metadata_begin() const { return &_metadata_got[0] ; }
253 Metadata** metadata_end() const { return &_metadata_got[_metadata_size] ; }
254 const char* compile_kind() const { return "AOT"; }
255
256 int get_state() const {
257 return (int) (*_state_adr);
258 }
259
260 virtual void oops_do(OopClosure* f);
261
262 // inlined and non-virtual for AOTCodeHeap::oops_do
263 void do_oops(OopClosure* f) {
|
223 virtual address handler_table_end() const { return _meta->handler_table_end(); }
224
225 virtual address nul_chk_table_begin() const { return _meta->nul_chk_table_begin(); }
226 virtual address nul_chk_table_end() const { return _meta->nul_chk_table_end(); }
227
228 virtual address consts_begin() const { return _meta->consts_begin(); }
229 virtual address consts_end() const { return _meta->consts_end(); }
230
231 virtual address stub_begin() const { return code_begin() + _meta->stub_offset(); }
232 virtual address stub_end() const { return code_end(); }
233
234 virtual oop* oop_addr_at(int index) const { ShouldNotReachHere(); return NULL; }
235 virtual Metadata** metadata_addr_at(int index) const { ShouldNotReachHere(); return NULL; }
236
237 // Accessor/mutator for the original pc of a frame before a frame was deopted.
238 address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
239 void set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
240
241 #ifdef HOTSWAP
242 // Flushing and deoptimization in case of evolution
243 void flush_evol_dependents_on(InstanceKlass* dependee);
244 #endif // HOTSWAP
245
246 virtual void metadata_do(void f(Metadata*));
247
248 bool metadata_got_contains(Metadata **p) {
249 return p >= &_metadata_got[0] && p < &_metadata_got[_metadata_size];
250 }
251
252 Metadata** metadata_begin() const { return &_metadata_got[0] ; }
253 Metadata** metadata_end() const { return &_metadata_got[_metadata_size] ; }
254 const char* compile_kind() const { return "AOT"; }
255
256 int get_state() const {
257 return (int) (*_state_adr);
258 }
259
260 virtual void oops_do(OopClosure* f);
261
262 // inlined and non-virtual for AOTCodeHeap::oops_do
263 void do_oops(OopClosure* f) {
|