From 1161177ce24da0348b5f6c6358667dc4a93f544b Mon Sep 17 00:00:00 2001
Date: Thu, 17 Oct 2019 14:49:51 +0000
Subject: [PATCH] disable UseLSE on ARMv8.1 by default

Summary: <UseLSE>: disable UseLSE by default and set UseLSE to
experimental
LLT: java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal
Bug url: NA
---
 .../hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp             | 2 +-
 .../hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp          | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp b/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
index 8cdd5c498..e0749ff80 100644
--- a/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
+++ b/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
@@ -87,7 +87,7 @@ define_pd_global(intx, InlineSmallCode,          1000);
           "Use Neon for CRC32 computation")                             \
   product(bool, UseCRC32, false,                                        \
           "Use CRC32 instructions for CRC32 computation")               \
-  product(bool, UseLSE, false,                                          \
+  experimental(bool, UseLSE, false,                                     \
           "Use LSE instructions")                                       \
   product(bool, UseSIMDForMemoryOps, false,                            \
           "Use SIMD instructions in generated memory move code")        \
diff --git a/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp
index 65bdaa83a..35d1062c8 100644
--- a/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp
+++ b/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp
@@ -203,10 +203,11 @@ void VM_Version::get_processor_features() {
 
   if (auxv & HWCAP_ATOMICS) {
     if (FLAG_IS_DEFAULT(UseLSE))
-      FLAG_SET_DEFAULT(UseLSE, true);
+      FLAG_SET_DEFAULT(UseLSE, false);
   } else {
     if (UseLSE) {
       warning("UseLSE specified, but not supported on this CPU");
+      FLAG_SET_DEFAULT(UseLSE, false);
     }
   }
 
-- 
2.19.0

