642 // verify operations 643 void verify(); 644 void verify_scopes(); 645 void verify_interrupt_point(address interrupt_point); 646 647 // printing support 648 void print() const; 649 void print_code(); 650 void print_relocations() PRODUCT_RETURN; 651 void print_pcs() PRODUCT_RETURN; 652 void print_scopes() PRODUCT_RETURN; 653 void print_dependencies() PRODUCT_RETURN; 654 void print_value_on(outputStream* st) const PRODUCT_RETURN; 655 void print_calls(outputStream* st) PRODUCT_RETURN; 656 void print_handler_table() PRODUCT_RETURN; 657 void print_nul_chk_table() PRODUCT_RETURN; 658 void print_nmethod(bool print_code); 659 660 // need to re-define this from CodeBlob else the overload hides it 661 virtual void print_on(outputStream* st) const { CodeBlob::print_on(st); } 662 void print_on(outputStream* st, const char* msg) const; 663 664 // Logging 665 void log_identity(xmlStream* log) const; 666 void log_new_nmethod() const; 667 void log_state_change() const; 668 669 // Prints block-level comments, including nmethod specific block labels: 670 virtual void print_block_comment(outputStream* stream, address block_begin) const { 671 print_nmethod_labels(stream, block_begin); 672 CodeBlob::print_block_comment(stream, block_begin); 673 } 674 void print_nmethod_labels(outputStream* stream, address block_begin) const; 675 676 // Prints a comment for one native instruction (reloc info, pc desc) 677 void print_code_comment_on(outputStream* st, int column, address begin, address end); 678 static void print_statistics() PRODUCT_RETURN; 679 680 // Compiler task identification. Note that all OSR methods 681 // are numbered in an independent sequence if CICountOSR is true, 682 // and native method wrappers are also numbered independently if 683 // CICountNative is true. 684 int compile_id() const { return _compile_id; } 685 const char* compile_kind() const; 686 687 // For debugging | 642 // verify operations 643 void verify(); 644 void verify_scopes(); 645 void verify_interrupt_point(address interrupt_point); 646 647 // printing support 648 void print() const; 649 void print_code(); 650 void print_relocations() PRODUCT_RETURN; 651 void print_pcs() PRODUCT_RETURN; 652 void print_scopes() PRODUCT_RETURN; 653 void print_dependencies() PRODUCT_RETURN; 654 void print_value_on(outputStream* st) const PRODUCT_RETURN; 655 void print_calls(outputStream* st) PRODUCT_RETURN; 656 void print_handler_table() PRODUCT_RETURN; 657 void print_nul_chk_table() PRODUCT_RETURN; 658 void print_nmethod(bool print_code); 659 660 // need to re-define this from CodeBlob else the overload hides it 661 virtual void print_on(outputStream* st) const { CodeBlob::print_on(st); } 662 void print_on(outputStream* st, const char* msg, int entry_bci) const; 663 void print_on(outputStream* st, const char* msg) const { 664 print_on(st, msg, _entry_bci); 665 } 666 667 // Logging 668 void log_identity(xmlStream* log) const; 669 void log_new_nmethod() const; 670 void log_state_change(int entry_bci) const; 671 void log_state_change() const { 672 log_state_change(_entry_bci); 673 } 674 675 // Prints block-level comments, including nmethod specific block labels: 676 virtual void print_block_comment(outputStream* stream, address block_begin) const { 677 print_nmethod_labels(stream, block_begin); 678 CodeBlob::print_block_comment(stream, block_begin); 679 } 680 void print_nmethod_labels(outputStream* stream, address block_begin) const; 681 682 // Prints a comment for one native instruction (reloc info, pc desc) 683 void print_code_comment_on(outputStream* st, int column, address begin, address end); 684 static void print_statistics() PRODUCT_RETURN; 685 686 // Compiler task identification. Note that all OSR methods 687 // are numbered in an independent sequence if CICountOSR is true, 688 // and native method wrappers are also numbered independently if 689 // CICountNative is true. 690 int compile_id() const { return _compile_id; } 691 const char* compile_kind() const; 692 693 // For debugging |