Use the CLoop for CPU(ARM64E).
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 May 2017 22:36:29 +0000 (22:36 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 May 2017 22:36:29 +0000 (22:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=171620
<rdar://problem/31973027>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* llint/LLIntOfflineAsmConfig.h:
* tools/SigillCrashAnalyzer.cpp:
(JSC::SigillCrashAnalyzer::dumpCodeBlock):

Source/WTF:

* wtf/Platform.h:

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp
Source/WTF/ChangeLog
Source/WTF/wtf/Platform.h

index 8e7f39e..f401e0c 100644 (file)
@@ -1,3 +1,15 @@
+2017-05-03  Mark Lam  <mark.lam@apple.com>
+
+        Use the CLoop for CPU(ARM64E).
+        https://bugs.webkit.org/show_bug.cgi?id=171620
+        <rdar://problem/31973027>
+
+        Reviewed by Geoffrey Garen.
+
+        * llint/LLIntOfflineAsmConfig.h:
+        * tools/SigillCrashAnalyzer.cpp:
+        (JSC::SigillCrashAnalyzer::dumpCodeBlock):
+
 2017-05-03  Keith Miller  <keith_miller@apple.com>
 
         Different behaviour with the .sort(callback) method (unlike Firefox & Chrome)
index fce2255..63e7eb5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012-2017 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -37,6 +37,7 @@
 #define OFFLINE_ASM_ARMv7 0
 #define OFFLINE_ASM_ARMv7_TRADITIONAL 0
 #define OFFLINE_ASM_ARM64 0
+#define OFFLINE_ASM_ARM64E 0
 #define OFFLINE_ASM_X86_64 0
 #define OFFLINE_ASM_X86_64_WIN 0
 #define OFFLINE_ASM_ARMv7k 0
 #define OFFLINE_ASM_ARM64 0
 #endif
 
+#if CPU(ARM64E)
+#define OFFLINE_ASM_ARM64E 1
+#else
+#define OFFLINE_ASM_ARM64E 0
+#endif
+
 #if CPU(MIPS)
 #ifdef WTF_MIPS_PIC
 #define S(x) #x
index eb86ee4..4adaeff 100644 (file)
@@ -268,7 +268,7 @@ auto SigillCrashAnalyzer::analyze(SignalContext& context) -> CrashSource
 
 void SigillCrashAnalyzer::dumpCodeBlock(CodeBlock* codeBlock, void* machinePC)
 {
-#if CPU(ARM64)
+#if CPU(ARM64) && ENABLE(JIT)
     JITCode* jitCode = codeBlock->jitCode().get();
 
     // Dump the raw bits of the code.
index 1105c92..1acecfa 100644 (file)
@@ -1,3 +1,13 @@
+2017-05-03  Mark Lam  <mark.lam@apple.com>
+
+        Use the CLoop for CPU(ARM64E).
+        https://bugs.webkit.org/show_bug.cgi?id=171620
+        <rdar://problem/31973027>
+
+        Reviewed by Geoffrey Garen.
+
+        * wtf/Platform.h:
+
 2017-05-02  Daniel Bates  <dabates@apple.com>
 
         Fix the build after <https://trac.webkit.org/changeset/216102>
index 02ecf41..e3c7cbd 100644 (file)
 /* CPU(ARM64) - Apple */
 #if (defined(__arm64__) && defined(__APPLE__)) || defined(__aarch64__)
 #define WTF_CPU_ARM64 1
+
+#if defined(__arm64e__)
+#define WTF_CPU_ARM64E 1
+#endif
 #endif
 
 /* CPU(ARM) - ARM, any version*/
 /* The JIT is enabled by default on all x86, x86-64, ARM & MIPS platforms except ARMv7k. */
 #if !defined(ENABLE_JIT) \
     && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)) \
-    && !CPU(APPLE_ARMV7K)
+    && !CPU(APPLE_ARMV7K) \
+    && !CPU(ARM64E)
 #define ENABLE_JIT 1
 #endif