Gigacage should not be enabled for ARM64_32
authormsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Dec 2017 22:12:01 +0000 (22:12 +0000)
committermsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Dec 2017 22:12:01 +0000 (22:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=180265

Reviewed by Saam Barati.

Disabled Gigacage for ARM64_32.
In the process, restructured Gigacage::shouldBeEnabled() with GIGACAGE_ENABLED set
to 0 to avoid a dead code compiler warning.

* bmalloc/Gigacage.cpp:
(Gigacage::shouldBeEnabled):
* bmalloc/Gigacage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/Gigacage.cpp
Source/bmalloc/bmalloc/Gigacage.h

index 311b2bb..dff2ab9 100644 (file)
@@ -1,3 +1,18 @@
+2017-12-01  Michael Saboff  <msaboff@apple.com>
+
+        Gigacage should not be enabled for ARM64_32
+        https://bugs.webkit.org/show_bug.cgi?id=180265
+
+        Reviewed by Saam Barati.
+
+        Disabled Gigacage for ARM64_32.
+        In the process, restructured Gigacage::shouldBeEnabled() with GIGACAGE_ENABLED set
+        to 0 to avoid a dead code compiler warning.
+
+        * bmalloc/Gigacage.cpp:
+        (Gigacage::shouldBeEnabled):
+        * bmalloc/Gigacage.h:
+
 2017-11-29  JF Bastien  <jfbastien@apple.com>
 
         WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking
index d13f00c..93f914b 100644 (file)
@@ -244,17 +244,14 @@ bool isDisablingPrimitiveGigacageDisabled()
 
 bool shouldBeEnabled()
 {
-    static std::once_flag onceFlag;
     static bool cached = false;
+
+#if GIGACAGE_ENABLED
+    static std::once_flag onceFlag;
     std::call_once(
         onceFlag,
         [] {
-#if BCPU(ARM64)
-            // FIXME: Make WasmBench run with gigacage on iOS and re-enable on ARM64:
-            // https://bugs.webkit.org/show_bug.cgi?id=178557
-            return;
-#endif
-            bool result = GIGACAGE_ENABLED && !PerProcess<Environment>::get()->isDebugHeapEnabled();
+            bool result = !PerProcess<Environment>::get()->isDebugHeapEnabled();
             if (!result)
                 return;
             
@@ -268,6 +265,7 @@ bool shouldBeEnabled()
             
             cached = true;
         });
+#endif // GIGACAGE_ENABLED
     
     return cached;
 }
index b643d4f..5ea0dc6 100644 (file)
@@ -52,7 +52,9 @@
 #define JSVALUE_GIGACAGE_MASK GIGACAGE_SIZE_TO_MASK(JSVALUE_GIGACAGE_SIZE)
 #define STRING_GIGACAGE_MASK GIGACAGE_SIZE_TO_MASK(STRING_GIGACAGE_SIZE)
 
-#if (BOS(DARWIN) || BOS(LINUX)) && (BCPU(ARM64) || BCPU(X86_64))
+// FIXME: Make WasmBench run with gigacage on iOS and re-enable on ARM64:
+// https://bugs.webkit.org/show_bug.cgi?id=178557
+#if (BOS(DARWIN) || BOS(LINUX)) && (/* (BCPU(ARM64) && !defined(__ILP32__))  || */ BCPU(X86_64))
 #define GIGACAGE_ENABLED 1
 #else
 #define GIGACAGE_ENABLED 0