< prev index next >
src/hotspot/cpu/arm/relocInfo_arm.cpp
Print this page
*** 25,35 ****
#include "precompiled.hpp"
#include "asm/assembler.inline.hpp"
#include "assembler_arm.inline.hpp"
#include "code/relocInfo.hpp"
#include "nativeInst_arm.hpp"
! #include "oops/oop.inline.hpp"
#include "runtime/safepoint.hpp"
void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
NativeMovConstReg* ni = nativeMovConstReg_at(addr());
--- 25,36 ----
#include "precompiled.hpp"
#include "asm/assembler.inline.hpp"
#include "assembler_arm.inline.hpp"
#include "code/relocInfo.hpp"
#include "nativeInst_arm.hpp"
! #include "compressedOops.inline.hpp"
! #include "oops/oop.hpp"
#include "runtime/safepoint.hpp"
void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
NativeMovConstReg* ni = nativeMovConstReg_at(addr());
*** 38,48 ****
assert(type() == relocInfo::oop_type, "!");
if (verify_only) {
uintptr_t d = ni->data();
guarantee((d >> 32) == 0, "not narrow oop");
narrowOop no = d;
! oop o = oopDesc::decode_heap_oop(no);
guarantee(cast_from_oop<intptr_t>(o) == (intptr_t)x, "instructions must match");
} else {
ni->set_data((intptr_t)x);
}
return;
--- 39,49 ----
assert(type() == relocInfo::oop_type, "!");
if (verify_only) {
uintptr_t d = ni->data();
guarantee((d >> 32) == 0, "not narrow oop");
narrowOop no = d;
! oop o = CompressedOops::decode(no);
guarantee(cast_from_oop<intptr_t>(o) == (intptr_t)x, "instructions must match");
} else {
ni->set_data((intptr_t)x);
}
return;
< prev index next >