webkitgtk/webkit-1.1.14-atomic-word.patch
Matthias Clasen a175f2694b 1.1.14
2009-09-08 02:32:22 +00:00

76 lines
2.6 KiB
Diff

diff -up webkit-1.1.14/JavaScriptCore/wtf/Platform.h.atomic-word webkit-1.1.14/JavaScriptCore/wtf/Platform.h
--- webkit-1.1.14/JavaScriptCore/wtf/Platform.h.atomic-word 2009-09-04 14:51:45.000000000 -0400
+++ webkit-1.1.14/JavaScriptCore/wtf/Platform.h 2009-09-07 21:52:29.696143904 -0400
@@ -282,9 +282,16 @@
#endif
/* PLATFORM(SPARC64) */
-#if defined(__sparc64__)
+#if defined(__sparc64__)\
+ || defined(__sparc__) && defined(_arch64__)
#define WTF_PLATFORM_SPARC64 1
#define WTF_PLATFORM_BIG_ENDIAN 1
+#else
+/* PLATFORM(SPARC) */
+#if defined(__sparc__)
+#define WTF_PLATFORM_SPARC 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
#endif
/* PLATFORM(WINCE) && PLATFORM(QT)
diff -up webkit-1.1.14/JavaScriptCore/wtf/Threading.h.atomic-word webkit-1.1.14/JavaScriptCore/wtf/Threading.h
--- webkit-1.1.14/JavaScriptCore/wtf/Threading.h.atomic-word 2009-09-04 08:30:57.000000000 -0400
+++ webkit-1.1.14/JavaScriptCore/wtf/Threading.h 2009-09-07 21:59:39.149138812 -0400
@@ -231,14 +231,14 @@ inline int atomicDecrement(int volatile*
#elif COMPILER(GCC)
#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
-inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
-inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
+inline int atomicIncrement(_Atomic_word volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
+inline int atomicDecrement(_Atomic_word volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
#endif
class ThreadSafeSharedBase : public Noncopyable {
public:
- ThreadSafeSharedBase(int initialRefCount = 1)
+ ThreadSafeSharedBase(_Atomic_word initialRefCount = 1)
: m_refCount(initialRefCount)
{
}
@@ -258,12 +258,12 @@ public:
return refCount() == 1;
}
- int refCount() const
+ _Atomic_word refCount() const
{
#if !USE(LOCKFREE_THREADSAFESHARED)
MutexLocker locker(m_mutex);
#endif
- return static_cast<int const volatile &>(m_refCount);
+ return static_cast<_Atomic_word const volatile &>(m_refCount);
}
protected:
@@ -290,7 +290,7 @@ private:
template<class T>
friend class CrossThreadRefCounted;
- int m_refCount;
+ _Atomic_word m_refCount;
#if !USE(LOCKFREE_THREADSAFESHARED)
mutable Mutex m_mutex;
#endif
@@ -298,7 +298,7 @@ private:
template<class T> class ThreadSafeShared : public ThreadSafeSharedBase {
public:
- ThreadSafeShared(int initialRefCount = 1)
+ ThreadSafeShared(_Atomic_word initialRefCount = 1)
: ThreadSafeSharedBase(initialRefCount)
{
}