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