787 xtty->stamp();
788 xtty->end_head(" address='" INTPTR_FORMAT "'", (intptr_t) this);
789 }
790 // print the header part first
791 print();
792 // then print the requested information
793 if (PrintNMethods) {
794 print_code();
795 }
796 if (PrintRelocations) {
797 print_relocations();
798 }
799 if (xtty != NULL) {
800 xtty->tail("print_dtrace_nmethod");
801 }
802 }
803 }
804 #endif // def HAVE_DTRACE_H
805
806 void* nmethod::operator new(size_t size, int nmethod_size, int comp_level) throw () {
807 // With a SegmentedCodeCache, nmethods are allocated on separate heaps and therefore do not share memory
808 // with critical CodeBlobs. We define the allocation as critical to make sure all code heap memory is used.
809 bool is_critical = SegmentedCodeCache;
810 return CodeCache::allocate(nmethod_size, CodeCache::get_code_blob_type(comp_level), is_critical);
811 }
812
813 nmethod::nmethod(
814 Method* method,
815 int nmethod_size,
816 int compile_id,
817 int entry_bci,
818 CodeOffsets* offsets,
819 int orig_pc_offset,
820 DebugInformationRecorder* debug_info,
821 Dependencies* dependencies,
822 CodeBuffer *code_buffer,
823 int frame_size,
824 OopMapSet* oop_maps,
825 ExceptionHandlerTable* handler_table,
826 ImplicitExceptionTable* nul_chk_table,
827 AbstractCompiler* compiler,
828 int comp_level
829 )
830 : CodeBlob("nmethod", code_buffer, sizeof(nmethod),
|
787 xtty->stamp();
788 xtty->end_head(" address='" INTPTR_FORMAT "'", (intptr_t) this);
789 }
790 // print the header part first
791 print();
792 // then print the requested information
793 if (PrintNMethods) {
794 print_code();
795 }
796 if (PrintRelocations) {
797 print_relocations();
798 }
799 if (xtty != NULL) {
800 xtty->tail("print_dtrace_nmethod");
801 }
802 }
803 }
804 #endif // def HAVE_DTRACE_H
805
806 void* nmethod::operator new(size_t size, int nmethod_size, int comp_level) throw () {
807 return CodeCache::allocate(nmethod_size, CodeCache::get_code_blob_type(comp_level));
808 }
809
810 nmethod::nmethod(
811 Method* method,
812 int nmethod_size,
813 int compile_id,
814 int entry_bci,
815 CodeOffsets* offsets,
816 int orig_pc_offset,
817 DebugInformationRecorder* debug_info,
818 Dependencies* dependencies,
819 CodeBuffer *code_buffer,
820 int frame_size,
821 OopMapSet* oop_maps,
822 ExceptionHandlerTable* handler_table,
823 ImplicitExceptionTable* nul_chk_table,
824 AbstractCompiler* compiler,
825 int comp_level
826 )
827 : CodeBlob("nmethod", code_buffer, sizeof(nmethod),
|