]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - llint/LLIntOfflineAsmConfig.h
JavaScriptCore-7600.1.4.15.12.tar.gz
[apple/javascriptcore.git] / llint / LLIntOfflineAsmConfig.h
index afb062aef5bcb648b06b128b68eef8fb449fd807..da85879fad6e4dc9bca5865befa88cef5a0b0a8c 100644 (file)
 #include "LLIntCommon.h"
 #include <wtf/Assertions.h>
 #include <wtf/InlineASM.h>
-#include <wtf/Platform.h>
 
-#if CPU(X86)
+#if !ENABLE(JIT)
+#define OFFLINE_ASM_C_LOOP 1
+#define OFFLINE_ASM_X86 0
+#define OFFLINE_ASM_X86_WIN 0
+#define OFFLINE_ASM_ARM 0
+#define OFFLINE_ASM_ARMv7 0
+#define OFFLINE_ASM_ARMv7_TRADITIONAL 0
+#define OFFLINE_ASM_ARM64 0
+#define OFFLINE_ASM_X86_64 0
+#define OFFLINE_ASM_X86_64_WIN 0
+#define OFFLINE_ASM_ARMv7s 0
+#define OFFLINE_ASM_MIPS 0
+#define OFFLINE_ASM_SH4 0
+
+#else // ENABLE(JIT)
+
+#define OFFLINE_ASM_C_LOOP 0
+
+#if CPU(X86) && !PLATFORM(WIN)
 #define OFFLINE_ASM_X86 1
 #else
 #define OFFLINE_ASM_X86 0
 #endif
 
+#if CPU(X86) && PLATFORM(WIN)
+#define OFFLINE_ASM_X86_WIN 1
+#else
+#define OFFLINE_ASM_X86_WIN 0
+#endif
+
+#ifdef __ARM_ARCH_7S__
+#define OFFLINE_ASM_ARMv7s 1
+#else
+#define OFFLINE_ASM_ARMv7s 0
+#endif
+
 #if CPU(ARM_THUMB2)
 #define OFFLINE_ASM_ARMv7 1
 #else
 #define OFFLINE_ASM_ARMv7 0
 #endif
 
-#if CPU(X86_64)
+#if CPU(ARM_TRADITIONAL)
+#if WTF_ARM_ARCH_AT_LEAST(7)
+#define OFFLINE_ASM_ARMv7_TRADITIONAL 1
+#define OFFLINE_ASM_ARM 0
+#else
+#define OFFLINE_ASM_ARM 1
+#define OFFLINE_ASM_ARMv7_TRADITIONAL 0
+#endif
+#else
+#define OFFLINE_ASM_ARMv7_TRADITIONAL 0
+#define OFFLINE_ASM_ARM 0
+#endif
+
+#if CPU(X86_64) && !PLATFORM(WIN)
 #define OFFLINE_ASM_X86_64 1
 #else
 #define OFFLINE_ASM_X86_64 0
 #endif
 
+#if CPU(X86_64) && PLATFORM(WIN)
+#define OFFLINE_ASM_X86_64_WIN 1
+#else
+#define OFFLINE_ASM_X86_64_WIN 0
+#endif
+
+#if CPU(MIPS)
+#define OFFLINE_ASM_MIPS 1
+#else
+#define OFFLINE_ASM_MIPS 0
+#endif
+
+#if CPU(SH4)
+#define OFFLINE_ASM_SH4 1
+#else
+#define OFFLINE_ASM_SH4 0
+#endif
+
+#if CPU(ARM64)
+#define OFFLINE_ASM_ARM64 1
+#else
+#define OFFLINE_ASM_ARM64 0
+#endif
+
+#if CPU(MIPS)
+#ifdef WTF_MIPS_PIC
+#define S(x) #x
+#define SX(x) S(x)
+#define OFFLINE_ASM_CPLOAD(reg) \
+    ".set noreorder\n" \
+    ".cpload " SX(reg) "\n" \
+    ".set reorder\n"
+#else
+#define OFFLINE_ASM_CPLOAD(reg)
+#endif
+#endif
+
+#endif // ENABLE(JIT)
+
 #if USE(JSVALUE64)
 #define OFFLINE_ASM_JSVALUE64 1
 #else
 #define OFFLINE_ASM_BIG_ENDIAN 0
 #endif
 
-#if LLINT_OSR_TO_JIT
-#define OFFLINE_ASM_JIT_ENABLED 1
-#else
-#define OFFLINE_ASM_JIT_ENABLED 0
-#endif
-
 #if LLINT_EXECUTION_TRACING
 #define OFFLINE_ASM_EXECUTION_TRACING 1
 #else
 #define OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW 0
 #endif
 
-#if ENABLE(VALUE_PROFILER)
-#define OFFLINE_ASM_VALUE_PROFILER 1
-#else
-#define OFFLINE_ASM_VALUE_PROFILER 0
-#endif
-
-#ifdef __ARM_ARCH_7S__
-#define OFFLINE_ASM_ARMv7s 1
+#if ENABLE(GGC)
+#define OFFLINE_ASM_GGC 1
 #else
-#define OFFLINE_ASM_ARMv7s 0
-#endif
-
-#if CPU(ARM_THUMB2)
-#define OFFLINE_ASM_GLOBAL_LABEL(label)          \
-    ".globl " SYMBOL_STRING(label) "\n"          \
-    HIDE_SYMBOL(name) "\n"                       \
-    ".thumb\n"                                   \
-    ".thumb_func " THUMB_FUNC_PARAM(label) "\n"  \
-    SYMBOL_STRING(label) ":\n"
-#else
-#define OFFLINE_ASM_GLOBAL_LABEL(label)         \
-    ".globl " SYMBOL_STRING(label) "\n"         \
-    HIDE_SYMBOL(name) "\n"                      \
-    SYMBOL_STRING(label) ":\n"
+#define OFFLINE_ASM_GGC 0
 #endif
 
 #endif // LLIntOfflineAsmConfig_h