aboutsummaryrefslogtreecommitdiff
path: root/mail/thunderbird-esr/files/patch-mozilla-js-src-jslock.cpp
blob: 03f5c60cccf888fe45a779890a6932bb0759673f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- mozilla/js/src/jslock.cpp.orig	2010-01-23 20:35:45.000000000 +0100
+++ mozilla/js/src/jslock.cpp	2010-01-23 20:37:35.000000000 +0100
@@ -160,8 +160,13 @@
     unsigned int res;
 
     __asm__ __volatile__ (
-                  "stbar\n"
-                  "cas [%1],%2,%3\n"
+                  "membar #StoreLoad | #LoadLoad\n"
+#                 if defined (__sparc64__)
+                    "casx [%1],%2,%3\n"
+#                 else
+                    "cas [%1],%2,%3\n" /* 32-bit version */
+#                 endif
+                  "membar #StoreLoad | #LoadLoad\n"
                   "cmp %2,%3\n"
                   "be,a 1f\n"
                   "mov 1,%0\n"