aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/c1
diff options
context:
space:
mode:
authorjprovino <none@none>2013-10-03 10:25:54 -0400
committerjprovino <none@none>2013-10-03 10:25:54 -0400
commit37c6f50d1a7ea400a9bdc217c62dbbcb806bdbde (patch)
treeaf8f8232ac5d005c253931d034d8f0a9160ca2ea /src/share/vm/c1
parent0be8deb8d4937af79382f07f5b2e2d12d3351e87 (diff)
parentb7207192075f74be2bdecd8719fc694193f25177 (diff)
Merge
Diffstat (limited to 'src/share/vm/c1')
-rw-r--r--src/share/vm/c1/c1_Runtime1.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/share/vm/c1/c1_Runtime1.cpp b/src/share/vm/c1/c1_Runtime1.cpp
index 7667984e0..8c48c8b0c 100644
--- a/src/share/vm/c1/c1_Runtime1.cpp
+++ b/src/share/vm/c1/c1_Runtime1.cpp
@@ -1078,14 +1078,17 @@ JRT_ENTRY(void, Runtime1::patch_code(JavaThread* thread, Runtime1::StubID stub_i
// 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;