Fri, 27 Sep 2013 13:49:57 -0400
8024990: JT_JDK: 11 failures with SIGSEGV on arm-sflt platforms in nightly fastdebug build.
Summary: Enable patching for load_appendix_id.
Reviewed-by: kvn, dlong, bdelsart
src/share/vm/c1/c1_Runtime1.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/c1/c1_Runtime1.cpp Fri Sep 20 15:06:23 2013 -0400 1.2 +++ b/src/share/vm/c1/c1_Runtime1.cpp Fri Sep 27 13:49:57 2013 -0400 1.3 @@ -1078,14 +1078,17 @@ 1.4 // replace instructions 1.5 // first replace the tail, then the call 1.6 #ifdef ARM 1.7 - if(load_klass_or_mirror_patch_id && !VM_Version::supports_movw()) { 1.8 + if((load_klass_or_mirror_patch_id || 1.9 + stub_id == Runtime1::load_appendix_patching_id) && 1.10 + !VM_Version::supports_movw()) { 1.11 nmethod* nm = CodeCache::find_nmethod(instr_pc); 1.12 address addr = NULL; 1.13 assert(nm != NULL, "invalid nmethod_pc"); 1.14 RelocIterator mds(nm, copy_buff, copy_buff + 1); 1.15 while (mds.next()) { 1.16 if (mds.type() == relocInfo::oop_type) { 1.17 - assert(stub_id == Runtime1::load_mirror_patching_id, "wrong stub id"); 1.18 + assert(stub_id == Runtime1::load_mirror_patching_id || 1.19 + stub_id == Runtime1::load_appendix_patching_id, "wrong stub id"); 1.20 oop_Relocation* r = mds.oop_reloc(); 1.21 addr = (address)r->oop_addr(); 1.22 break;