open Udiff src/hotspot/cpu/arm/relocInfo_arm.cpp (original) (raw)
@@ -25,11 +25,12 @@ #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 "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,11 +39,11 @@ 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);
} else { ni->set_data((intptr_t)x); } return;oop o = CompressedOops::decode(no); guarantee(cast_from_oop<intptr_t>(o) == (intptr_t)x, "instructions must match");