8191955: AArch64: incorrect prefetch distance causes an internal error
authornjian
Mon, 04 Dec 2017 09:59:33 +0100
changeset 48052 8fe17f886663
parent 48051 0b42613e35bf
child 48053 6dcbdc9f99fc
8191955: AArch64: incorrect prefetch distance causes an internal error Summary: Fixed incorrect prefetch distance on AArch64. Reviewed-by: aph
src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
--- a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp	Mon Dec 04 13:24:00 2017 +0530
+++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp	Mon Dec 04 09:59:33 2017 +0100
@@ -148,6 +148,16 @@
       PrefetchCopyIntervalInBytes = 32760;
   }
 
+  if (AllocatePrefetchDistance !=-1 && (AllocatePrefetchDistance & 7)) {
+    warning("AllocatePrefetchDistance must be multiple of 8");
+    AllocatePrefetchDistance &= ~7;
+  }
+
+  if (AllocatePrefetchStepSize & 7) {
+    warning("AllocatePrefetchStepSize must be multiple of 8");
+    AllocatePrefetchStepSize &= ~7;
+  }
+
   if (SoftwarePrefetchHintDistance != -1 &&
        (SoftwarePrefetchHintDistance & 7)) {
     warning("SoftwarePrefetchHintDistance must be -1, or a multiple of 8");