< prev index next >

src/hotspot/share/code/nmethod.hpp

Print this page
rev 54589 : 8219586: CodeHeap State Analytics processes dead nmethods
Reviewed-by:


 497   address* orig_pc_addr(const frame* fr);
 498 
 499  public:
 500   // copying of debugging information
 501   void copy_scopes_pcs(PcDesc* pcs, int count);
 502   void copy_scopes_data(address buffer, int size);
 503 
 504   // Accessor/mutator for the original pc of a frame before a frame was deopted.
 505   address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
 506   void    set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
 507 
 508   // jvmti support:
 509   void post_compiled_method_load_event();
 510   jmethodID get_and_cache_jmethod_id();
 511 
 512   // verify operations
 513   void verify();
 514   void verify_scopes();
 515   void verify_interrupt_point(address interrupt_point);
 516 



 517   // printing support
 518   void print()                          const;
 519   void print_relocations()                        PRODUCT_RETURN;
 520   void print_pcs()                                PRODUCT_RETURN;
 521   void print_scopes()                             PRODUCT_RETURN;
 522   void print_dependencies()                       PRODUCT_RETURN;
 523   void print_value_on(outputStream* st) const     PRODUCT_RETURN;
 524   void print_calls(outputStream* st)              PRODUCT_RETURN;
 525   void print_handler_table()                      PRODUCT_RETURN;
 526   void print_nul_chk_table()                      PRODUCT_RETURN;
 527   void print_recorded_oops()                      PRODUCT_RETURN;
 528   void print_recorded_metadata()                  PRODUCT_RETURN;
 529 
 530   void maybe_print_nmethod(DirectiveSet* directive);
 531   void print_nmethod(bool print_code);
 532 
 533   // need to re-define this from CodeBlob else the overload hides it
 534   virtual void print_on(outputStream* st) const { CodeBlob::print_on(st); }
 535   void print_on(outputStream* st, const char* msg) const;
 536 




 497   address* orig_pc_addr(const frame* fr);
 498 
 499  public:
 500   // copying of debugging information
 501   void copy_scopes_pcs(PcDesc* pcs, int count);
 502   void copy_scopes_data(address buffer, int size);
 503 
 504   // Accessor/mutator for the original pc of a frame before a frame was deopted.
 505   address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
 506   void    set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
 507 
 508   // jvmti support:
 509   void post_compiled_method_load_event();
 510   jmethodID get_and_cache_jmethod_id();
 511 
 512   // verify operations
 513   void verify();
 514   void verify_scopes();
 515   void verify_interrupt_point(address interrupt_point);
 516 
 517   // verify that accessing object fields (nmethod and parent) is safe.
 518   static bool access_is_safe(nmethod* nm);
 519 
 520   // printing support
 521   void print()                          const;
 522   void print_relocations()                        PRODUCT_RETURN;
 523   void print_pcs()                                PRODUCT_RETURN;
 524   void print_scopes()                             PRODUCT_RETURN;
 525   void print_dependencies()                       PRODUCT_RETURN;
 526   void print_value_on(outputStream* st) const     PRODUCT_RETURN;
 527   void print_calls(outputStream* st)              PRODUCT_RETURN;
 528   void print_handler_table()                      PRODUCT_RETURN;
 529   void print_nul_chk_table()                      PRODUCT_RETURN;
 530   void print_recorded_oops()                      PRODUCT_RETURN;
 531   void print_recorded_metadata()                  PRODUCT_RETURN;
 532 
 533   void maybe_print_nmethod(DirectiveSet* directive);
 534   void print_nmethod(bool print_code);
 535 
 536   // need to re-define this from CodeBlob else the overload hides it
 537   virtual void print_on(outputStream* st) const { CodeBlob::print_on(st); }
 538   void print_on(outputStream* st, const char* msg) const;
 539 


< prev index next >