--- a/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp Tue Aug 15 02:49:48 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp Tue Aug 15 15:02:40 2017 +0300
@@ -137,6 +137,8 @@
FLAG_SET_DEFAULT(PrefetchScanIntervalInBytes, 3*dcache_line);
if (FLAG_IS_DEFAULT(PrefetchCopyIntervalInBytes))
FLAG_SET_DEFAULT(PrefetchCopyIntervalInBytes, 3*dcache_line);
+ if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance))
+ FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, 3*dcache_line);
if (PrefetchCopyIntervalInBytes != -1 &&
((PrefetchCopyIntervalInBytes & 7) || (PrefetchCopyIntervalInBytes >= 32768))) {
@@ -146,6 +148,12 @@
PrefetchCopyIntervalInBytes = 32760;
}
+ if (SoftwarePrefetchHintDistance != -1 &&
+ (SoftwarePrefetchHintDistance & 7)) {
+ warning("SoftwarePrefetchHintDistance must be -1, or a multiple of 8");
+ SoftwarePrefetchHintDistance &= ~7;
+ }
+
unsigned long auxv = getauxval(AT_HWCAP);
char buf[512];