src/share/vm/code/relocInfo.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/code/relocInfo.cpp Fri Jun 6 16:07:54 2014
--- new/src/share/vm/code/relocInfo.cpp Fri Jun 6 16:07:54 2014
*** 875,899 ****
--- 875,899 ----
void internal_word_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
address target = _target;
if (target == NULL) {
if (addr_in_const()) {
target = new_addr_for(*(address*)addr(), src, dest);
} else {
target = new_addr_for(pd_get_address_from_code(), src, dest);
}
+ target = new_addr_for(this->target(), src, dest);
}
set_value(target);
}
address internal_word_Relocation::target() {
address target = _target;
if (target == NULL) {
+ if (addr_in_const()) {
+ target = *(address*)addr();
+ } else {
target = pd_get_address_from_code();
}
+ }
return target;
}
//---------------------------------------------------------------------------------
// Non-product code
src/share/vm/code/relocInfo.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File