< prev index next >

src/hotspot/share/code/nmethod.hpp

Print this page




 495   bool do_unloading_scopes(BoolObjectClosure* is_alive, bool unloading_occurred);
 496   //  Unload a nmethod if the *root object is dead.
 497   bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
 498   bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive, bool unloading_occurred);
 499 
 500  public:
 501   void oops_do(OopClosure* f) { oops_do(f, false); }
 502   void oops_do(OopClosure* f, bool allow_zombie);
 503   bool detect_scavenge_root_oops();
 504   void verify_scavenge_root_oops() PRODUCT_RETURN;
 505 
 506   bool test_set_oops_do_mark();
 507   static void oops_do_marking_prologue();
 508   static void oops_do_marking_epilogue();
 509   static bool oops_do_marking_is_active() { return _oops_do_mark_nmethods != NULL; }
 510   bool test_oops_do_mark() { return _oops_do_mark_link != NULL; }
 511 
 512  private:
 513   ScopeDesc* scope_desc_in(address begin, address end);
 514 
 515   address* orig_pc_addr(const frame* fr) { return (address*) ((address)fr->unextended_sp() + _orig_pc_offset); }
 516 
 517  public:
 518   // copying of debugging information
 519   void copy_scopes_pcs(PcDesc* pcs, int count);
 520   void copy_scopes_data(address buffer, int size);
 521 
 522   // Accessor/mutator for the original pc of a frame before a frame was deopted.
 523   address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
 524   void    set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
 525 
 526   // jvmti support:
 527   void post_compiled_method_load_event();
 528   jmethodID get_and_cache_jmethod_id();
 529 
 530   // verify operations
 531   void verify();
 532   void verify_scopes();
 533   void verify_interrupt_point(address interrupt_point);
 534 
 535   // printing support




 495   bool do_unloading_scopes(BoolObjectClosure* is_alive, bool unloading_occurred);
 496   //  Unload a nmethod if the *root object is dead.
 497   bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
 498   bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive, bool unloading_occurred);
 499 
 500  public:
 501   void oops_do(OopClosure* f) { oops_do(f, false); }
 502   void oops_do(OopClosure* f, bool allow_zombie);
 503   bool detect_scavenge_root_oops();
 504   void verify_scavenge_root_oops() PRODUCT_RETURN;
 505 
 506   bool test_set_oops_do_mark();
 507   static void oops_do_marking_prologue();
 508   static void oops_do_marking_epilogue();
 509   static bool oops_do_marking_is_active() { return _oops_do_mark_nmethods != NULL; }
 510   bool test_oops_do_mark() { return _oops_do_mark_link != NULL; }
 511 
 512  private:
 513   ScopeDesc* scope_desc_in(address begin, address end);
 514 
 515   address* orig_pc_addr(const frame* fr);
 516 
 517  public:
 518   // copying of debugging information
 519   void copy_scopes_pcs(PcDesc* pcs, int count);
 520   void copy_scopes_data(address buffer, int size);
 521 
 522   // Accessor/mutator for the original pc of a frame before a frame was deopted.
 523   address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
 524   void    set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
 525 
 526   // jvmti support:
 527   void post_compiled_method_load_event();
 528   jmethodID get_and_cache_jmethod_id();
 529 
 530   // verify operations
 531   void verify();
 532   void verify_scopes();
 533   void verify_interrupt_point(address interrupt_point);
 534 
 535   // printing support


< prev index next >