mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
Merge
This commit is contained in:
commit
a1c9c2fe6f
1 changed files with 5 additions and 2 deletions
|
@ -1078,14 +1078,17 @@ JRT_ENTRY(void, Runtime1::patch_code(JavaThread* thread, Runtime1::StubID stub_i
|
||||||
// replace instructions
|
// replace instructions
|
||||||
// first replace the tail, then the call
|
// first replace the tail, then the call
|
||||||
#ifdef ARM
|
#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);
|
nmethod* nm = CodeCache::find_nmethod(instr_pc);
|
||||||
address addr = NULL;
|
address addr = NULL;
|
||||||
assert(nm != NULL, "invalid nmethod_pc");
|
assert(nm != NULL, "invalid nmethod_pc");
|
||||||
RelocIterator mds(nm, copy_buff, copy_buff + 1);
|
RelocIterator mds(nm, copy_buff, copy_buff + 1);
|
||||||
while (mds.next()) {
|
while (mds.next()) {
|
||||||
if (mds.type() == relocInfo::oop_type) {
|
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();
|
oop_Relocation* r = mds.oop_reloc();
|
||||||
addr = (address)r->oop_addr();
|
addr = (address)r->oop_addr();
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue