Merge
authoraph
Tue, 05 Jun 2018 17:14:49 +0100
changeset 50412 3d658c910e83
parent 50411 0191ac1da300 (diff)
parent 50410 01e4ddc3c23f (current diff)
child 50413 1234ff7199c7
child 50426 4e47a0f6d688
Merge
--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp	Tue Jun 05 08:33:40 2018 -0700
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp	Tue Jun 05 17:14:49 2018 +0100
@@ -1020,7 +1020,7 @@
   address trampoline_call(Address entry, CodeBuffer *cbuf = NULL);
 
   static bool far_branches() {
-    return ReservedCodeCacheSize > branch_range;
+    return ReservedCodeCacheSize > branch_range || UseAOT;
   }
 
   // Jumps that can reach anywhere in the code cache.
--- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp	Tue Jun 05 08:33:40 2018 -0700
+++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp	Tue Jun 05 17:14:49 2018 +0100
@@ -234,8 +234,12 @@
   }
 
 #if INCLUDE_AOT
+  // Return true iff a call from instr to target is out of range.
+  // Used for calls from JIT- to AOT-compiled code.
   static bool is_far_call(address instr, address target) {
-    return !Assembler::reachable_from_branch_at(instr, target);
+    // On AArch64 we use trampolines which can reach anywhere in the
+    // address space, so calls are never out of range.
+    return false;
   }
 #endif