src/share/vm/code/codeBlob.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/code/codeBlob.cpp

src/share/vm/code/codeBlob.cpp

Print this page

        

*** 127,139 **** void CodeBlob::set_oop_maps(OopMapSet* p) { // Danger Will Robinson! This method allocates a big // chunk of memory, its your job to free it. if (p != NULL) { ! // We need to allocate a chunk big enough to hold the OopMapSet and all of its OopMaps ! _oop_maps = (OopMapSet* )NEW_C_HEAP_ARRAY(unsigned char, p->heap_size(), mtCode); ! p->copy_to((address)_oop_maps); } else { _oop_maps = NULL; } } --- 127,137 ---- void CodeBlob::set_oop_maps(OopMapSet* p) { // Danger Will Robinson! This method allocates a big // chunk of memory, its your job to free it. if (p != NULL) { ! _oop_maps = ImmutableOopMapSet::build_from(p); } else { _oop_maps = NULL; } }
*** 173,183 **** } _strings.free(); } ! OopMap* CodeBlob::oop_map_for_return_address(address return_address) { assert(oop_maps() != NULL, "nope"); return oop_maps()->find_map_at_offset((intptr_t) return_address - (intptr_t) code_begin()); } --- 171,181 ---- } _strings.free(); } ! const ImmutableOopMap* CodeBlob::oop_map_for_return_address(address return_address) { assert(oop_maps() != NULL, "nope"); return oop_maps()->find_map_at_offset((intptr_t) return_address - (intptr_t) code_begin()); }
src/share/vm/code/codeBlob.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File