changeset 48258:8fe17f886663

8191955: AArch64: incorrect prefetch distance causes an internal error Summary: Fixed incorrect prefetch distance on AArch64. Reviewed-by: aph
author njian
date Mon, 04 Dec 2017 09:59:33 +0100
parents 0b42613e35bf
children 6dcbdc9f99fc
files src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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");