summaryrefslogtreecommitdiff
path: root/patches/patch-Source_WTF_wtf_Platform_h
blob: f84e48d94cfa07b0d71cae1f657eb1862c887620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
$OpenBSD: patch-Source_WTF_wtf_Platform_h,v 1.4 2014/03/25 06:25:45 landry Exp $

Add defines for sparc64/mips64.
Disable yarr jit on anything not having a jit
https://bugs.webkit.org/show_bug.cgi?id=113638
https://bugs.webkit.org/show_bug.cgi?id=129839

sparc defines/code was removed upstream in 
http://trac.webkit.org/changeset/159817

chunk 4
https://bugs.webkit.org/show_bug.cgi?id=126502

chunk 5
http://trac.webkit.org/changeset/164220
https://bugs.webkit.org/show_bug.cgi?id=128898
(also check https://bugs.webkit.org/show_bug.cgi?id=128549)

https://bugs.webkit.org/show_bug.cgi?id=129963 for dfg_jit/llint

last chunk needed to build on ppc/sparc64, otherwise yarr jit and
assembler is enabled (because of llint cloop) but there's no asm
for those

--- Source/WTF/wtf/Platform.h.orig	Mon Mar  3 09:11:49 2014
+++ Source/WTF/wtf/Platform.h	Sat Mar  8 22:59:04 2014
@@ -71,6 +71,12 @@
 #define WTF_CPU_BIG_ENDIAN 1
 #endif
 
+/* CPU(SPARC64) - Sun Sparc64 */
+#if defined(__sparc64__)
+#define WTF_CPU_SPARC64 1
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+
 /* CPU(IA64) - Itanium / IA-64 */
 #if defined(__ia64__)
 #define WTF_CPU_IA64 1
@@ -82,9 +88,14 @@
 
 /* CPU(MIPS) - MIPS 32-bit */
 /* Note: Only O32 ABI is tested, so we enable it for O32 ABI for now.  */
-#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)) \
-    && defined(_ABIO32)
+#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_) || defined(__mips64__))
+#if defined(_ABIO32)
 #define WTF_CPU_MIPS 1
+#endif
+#if defined(__mips64__)
+#define	WTF_CPU_MIPS64	1
+#define	USE_SYSTEM_MALLOC 1
+#endif
 #if defined(__MIPSEB__)
 #define WTF_CPU_BIG_ENDIAN 1
 #endif
@@ -313,7 +324,7 @@
 
 #endif /* ARM */
 
-#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(MIPS64) || CPU(SPARC64)
 #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
 #endif
 
@@ -641,6 +652,8 @@
     || CPU(ALPHA) \
     || CPU(ARM64) \
     || CPU(S390X) \
+    || CPU(SPARC64) \
+    || CPU(MIPS64) \
     || CPU(PPC64)
 #define WTF_USE_JSVALUE64 1
 #else
@@ -708,7 +721,7 @@
    low-level interpreter. */
 #if !defined(ENABLE_LLINT) \
     && ENABLE(JIT) \
-    && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD)) \
+    && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD) || OS(OPENBSD)) \
     && (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(GTK)) \
     && (CPU(X86) || CPU(X86_64) || CPU(ARM_THUMB2) || CPU(ARM_TRADITIONAL) || CPU(ARM64) || CPU(MIPS) || CPU(SH4))
 #define ENABLE_LLINT 1
@@ -716,7 +729,7 @@
 
 #if !defined(ENABLE_DFG_JIT) && ENABLE(JIT) && !COMPILER(MSVC)
 /* Enable the DFG JIT on X86 and X86_64.  Only tested on Mac, GNU/Linux and FreeBSD. */
-#if (CPU(X86) || CPU(X86_64)) && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD))
+#if (CPU(X86) || CPU(X86_64)) && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD) || OS(OPENBSD))
 #define ENABLE_DFG_JIT 1
 #endif
 /* Enable the DFG JIT on ARMv7.  Only tested on iOS and Qt/GTK+ Linux. */
@@ -807,7 +820,7 @@
 #define ENABLE_REGEXP_TRACING 0
 
 /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
-#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP))
+#if !defined(ENABLE_YARR_JIT) && ENABLE(JIT)
 #define ENABLE_YARR_JIT 1
 
 /* Setting this flag compares JIT results with interpreter results. */