< prev index next >

src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp

Print this page
rev 54117 : AArch64: 64-bit Literal Oops

@@ -246,11 +246,17 @@
 // At Runtime:
 // - call to stub, jump to runtime
 // - in runtime: preserve all registers (rspecially objects, i.e., source and destination object)
 // - in runtime: after initializing class, restore original code, reexecute instruction
 
-int PatchingStub::_patch_info_offset = -NativeGeneralJump::instruction_size;
+// On AArch64 we can can generate addresses with 48-bit or 64-bit addresses in
+// with 3 or 4 instructions, switchable on the Use64BitLiteralAddresses option.
+// The value returned is therefore not a compile-time constant, unlike on other
+// platforms.
+int patch_info_offset() {
+  return -NativeGeneralJump::instruction_size;
+}
 
 void PatchingStub::align_patch_site(MacroAssembler* masm) {
 }
 
 void PatchingStub::emit_code(LIR_Assembler* ce) {
< prev index next >