summaryrefslogtreecommitdiff
path: root/www/firefox36/files/patch-js-src-jslock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox36/files/patch-js-src-jslock.cpp')
-rw-r--r--www/firefox36/files/patch-js-src-jslock.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/www/firefox36/files/patch-js-src-jslock.cpp b/www/firefox36/files/patch-js-src-jslock.cpp
new file mode 100644
index 000000000000..7aea14d0ebaf
--- /dev/null
+++ b/www/firefox36/files/patch-js-src-jslock.cpp
@@ -0,0 +1,18 @@
+--- js/src/jslock.cpp.orig 2009-10-07 20:15:38.000000000 +0200
++++ js/src/jslock.cpp 2009-10-07 21:36:14.000000000 +0200
+@@ -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"