src/share/vm/asm/codeBuffer.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6951083 Sdiff src/share/vm/asm

src/share/vm/asm/codeBuffer.hpp

Print this page




 493   OopRecorder* oop_recorder() const   { return _oop_recorder; }
 494   CodeComments& comments()            { return _comments; }
 495 
 496   // Code generation
 497   void relocate(address at, RelocationHolder const& rspec, int format = 0) {
 498     _insts.relocate(at, rspec, format);
 499   }
 500   void relocate(address at,    relocInfo::relocType rtype, int format = 0) {
 501     _insts.relocate(at, rtype, format);
 502   }
 503 
 504   // Management of overflow storage for binding of Labels.
 505   GrowableArray<int>* create_patch_overflow();
 506 
 507   // NMethod generation
 508   void copy_code_and_locs_to(CodeBlob* blob) {
 509     assert(blob != NULL, "sane");
 510     copy_relocations_to(blob);
 511     copy_code_to(blob);
 512   }
 513   void copy_oops_to(CodeBlob* blob) {
 514     if (!oop_recorder()->is_unused()) {
 515       oop_recorder()->copy_to(blob);
 516     }
 517   }
 518 
 519   // Transform an address from the code in this code buffer to a specified code buffer
 520   address transform_address(const CodeBuffer &cb, address addr) const;
 521 
 522   void block_comment(intptr_t offset, const char * comment) PRODUCT_RETURN;
 523 
 524 #ifndef PRODUCT
 525  public:
 526   // Printing / Decoding
 527   // decodes from decode_begin() to code_end() and sets decode_begin to end
 528   void    decode();
 529   void    decode_all();         // decodes all the code
 530   void    skip_decode();        // sets decode_begin to code_end();
 531   void    print();
 532 #endif
 533 
 534 
 535   // The following header contains architecture-specific implementations


 493   OopRecorder* oop_recorder() const   { return _oop_recorder; }
 494   CodeComments& comments()            { return _comments; }
 495 
 496   // Code generation
 497   void relocate(address at, RelocationHolder const& rspec, int format = 0) {
 498     _insts.relocate(at, rspec, format);
 499   }
 500   void relocate(address at,    relocInfo::relocType rtype, int format = 0) {
 501     _insts.relocate(at, rtype, format);
 502   }
 503 
 504   // Management of overflow storage for binding of Labels.
 505   GrowableArray<int>* create_patch_overflow();
 506 
 507   // NMethod generation
 508   void copy_code_and_locs_to(CodeBlob* blob) {
 509     assert(blob != NULL, "sane");
 510     copy_relocations_to(blob);
 511     copy_code_to(blob);
 512   }
 513   void copy_oops_to(nmethod* nm) {
 514     if (!oop_recorder()->is_unused()) {
 515       oop_recorder()->copy_to(nm);
 516     }
 517   }
 518 
 519   // Transform an address from the code in this code buffer to a specified code buffer
 520   address transform_address(const CodeBuffer &cb, address addr) const;
 521 
 522   void block_comment(intptr_t offset, const char * comment) PRODUCT_RETURN;
 523 
 524 #ifndef PRODUCT
 525  public:
 526   // Printing / Decoding
 527   // decodes from decode_begin() to code_end() and sets decode_begin to end
 528   void    decode();
 529   void    decode_all();         // decodes all the code
 530   void    skip_decode();        // sets decode_begin to code_end();
 531   void    print();
 532 #endif
 533 
 534 
 535   // The following header contains architecture-specific implementations
src/share/vm/asm/codeBuffer.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File