blob: b609889a9e32d002805870333addc683184a9e8e (
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
|
From d8881cbf62d8bb5bc2acc57a5cf976138446c2bc Mon Sep 17 00:00:00 2001
From: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Date: Thu, 2 Apr 2020 20:59:21 +0300
Subject: [PATCH] arc: Disable atomic operations
Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
---
js/src/jit/AtomicOperations.h | 2 ++
js/src/jit/none/AtomicOperations-feeling-lucky.h | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
index fda0b14..d583e4b 100644
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -395,6 +395,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
#include "jit/none/AtomicOperations-feeling-lucky.h"
#elif defined(__riscv)
#include "jit/none/AtomicOperations-feeling-lucky.h"
+#elif defined(__arc__)
+#include "jit/none/AtomicOperations-feeling-lucky.h"
#else
#error "No AtomicOperations support provided for this platform"
#endif
diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
index 42b1f3e..f49f680 100644
--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
@@ -88,6 +88,10 @@
#endif
#endif
+#ifdef __arc__
+#define GNUC_COMPATIBLE
+#endif
+
// The default implementation tactic for gcc/clang is to use the newer
// __atomic intrinsics added for use in C++11 <atomic>. Where that
// isn't available, we use GCC's older __sync functions instead.
--
2.16.2
|