--- a/hotspot/src/cpu/arm/vm/macroAssembler_arm.cpp Wed Aug 23 15:47:41 2017 +0200
+++ b/hotspot/src/cpu/arm/vm/macroAssembler_arm.cpp Wed Aug 23 12:00:39 2017 -0400
@@ -2887,6 +2887,11 @@
return offset();
}
+// ((OopHandle)result).resolve();
+void MacroAssembler::resolve_oop_handle(Register result) {
+ // OopHandle::resolve is an indirection.
+ ldr(result, Address(result, 0));
+}
void MacroAssembler::load_mirror(Register mirror, Register method, Register tmp) {
const int mirror_offset = in_bytes(Klass::java_mirror_offset());
@@ -2896,6 +2901,7 @@
ldr(mirror, Address(tmp, mirror_offset));
}
+
///////////////////////////////////////////////////////////////////////////////
// Compressed pointers