# HG changeset patch # User vladidan # Date 1380821732 25200 # Node ID 100614790c1e0afd0d5bdf08d7a2cf521e4360b4 # Parent 268e7a2178d781acb21c14bca91e4ee107809876# Parent d0cfa6502dfe9d3d2e9dd02f244163b41df7512b Merge diff -r 268e7a2178d7 -r 100614790c1e src/share/vm/c1/c1_Runtime1.cpp --- a/src/share/vm/c1/c1_Runtime1.cpp Thu Oct 03 16:38:21 2013 +0400 +++ b/src/share/vm/c1/c1_Runtime1.cpp Thu Oct 03 10:35:32 2013 -0700 @@ -1078,14 +1078,17 @@ // replace instructions // first replace the tail, then the call #ifdef ARM - if(load_klass_or_mirror_patch_id && !VM_Version::supports_movw()) { + if((load_klass_or_mirror_patch_id || + stub_id == Runtime1::load_appendix_patching_id) && + !VM_Version::supports_movw()) { nmethod* nm = CodeCache::find_nmethod(instr_pc); address addr = NULL; assert(nm != NULL, "invalid nmethod_pc"); RelocIterator mds(nm, copy_buff, copy_buff + 1); while (mds.next()) { if (mds.type() == relocInfo::oop_type) { - assert(stub_id == Runtime1::load_mirror_patching_id, "wrong stub id"); + assert(stub_id == Runtime1::load_mirror_patching_id || + stub_id == Runtime1::load_appendix_patching_id, "wrong stub id"); oop_Relocation* r = mds.oop_reloc(); addr = (address)r->oop_addr(); break;