8191955: AArch64: incorrect prefetch distance causes an internal error
Summary: Fixed incorrect prefetch distance on AArch64.
Reviewed-by: aph
--- 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");