1.1 --- a/src/share/vm/code/relocInfo.cpp Tue Jun 24 08:12:30 2014 +0200 1.2 +++ b/src/share/vm/code/relocInfo.cpp Wed Jun 11 09:16:19 2014 +0200 1.3 @@ -877,11 +877,7 @@ 1.4 void internal_word_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { 1.5 address target = _target; 1.6 if (target == NULL) { 1.7 - if (addr_in_const()) { 1.8 - target = new_addr_for(*(address*)addr(), src, dest); 1.9 - } else { 1.10 - target = new_addr_for(pd_get_address_from_code(), src, dest); 1.11 - } 1.12 + target = new_addr_for(this->target(), src, dest); 1.13 } 1.14 set_value(target); 1.15 } 1.16 @@ -890,7 +886,11 @@ 1.17 address internal_word_Relocation::target() { 1.18 address target = _target; 1.19 if (target == NULL) { 1.20 - target = pd_get_address_from_code(); 1.21 + if (addr_in_const()) { 1.22 + target = *(address*)addr(); 1.23 + } else { 1.24 + target = pd_get_address_from_code(); 1.25 + } 1.26 } 1.27 return target; 1.28 }