http://trac.webkit.org/changeset/105982
https://bugs.webkit.org/show_bug.cgi?id=77090
breaks the world (Requested by WildFox on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-26
* wtf/MainThread.cpp:
(WTF):
* wtf/Platform.h:
* wtf/mac/MainThreadMac.mm:
(WTF):
(WTF::registerGCThread):
(WTF::isMainThreadOrGCThread):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-01-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r105982.
+ http://trac.webkit.org/changeset/105982
+ https://bugs.webkit.org/show_bug.cgi?id=77090
+
+ breaks the world (Requested by WildFox on #webkit).
+
+ * wtf/MainThread.cpp:
+ (WTF):
+ * wtf/Platform.h:
+ * wtf/mac/MainThreadMac.mm:
+ (WTF):
+ (WTF::registerGCThread):
+ (WTF::isMainThreadOrGCThread):
+
2012-01-26 Roland Takacs <takacs.roland@stud.u-szeged.hu>
[Qt] GC should be parallel on Qt platform
#include "Functional.h"
#include "StdLibExtras.h"
#include "Threading.h"
-#include <wtf/ThreadSpecific.h>
#if PLATFORM(CHROMIUM)
#error Chromium uses a different main thread implementation
}
#endif
-#if ENABLE(PARALLEL_GC)
-static ThreadSpecific<bool>* isGCThread;
-
-void registerGCThread()
-{
- if (!isGCThread) {
- // This happens if we're running in a process that doesn't care about
- // MainThread.
- return;
- }
-
- **isGCThread = true;
-}
-
-bool isMainThreadOrGCThread()
-{
- if (isGCThread->isSet() && **isGCThread)
- return true;
-
- return isMainThread();
-}
-#elif PLATFORM(MAC)
-// This is necessary because JavaScriptCore.exp doesn't support preprocessor macros.
-bool isMainThreadOrGCThread()
-{
- return isMainThread();
-}
-#endif
-
} // namespace WTF
#define ENABLE_COMPARE_AND_SWAP 1
#endif
-#if !defined(ENABLE_PARALLEL_GC) && (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(QT)) && ENABLE(COMPARE_AND_SWAP)
+#if !defined(ENABLE_PARALLEL_GC) && (PLATFORM(MAC) || PLATFORM(IOS)) && ENABLE(COMPARE_AND_SWAP)
#define ENABLE_PARALLEL_GC 1
#endif
return pthread_equal(pthread_self(), mainThreadPthread);
}
+#if ENABLE(PARALLEL_GC)
+void registerGCThread()
+{
+ if (!isGCThread) {
+ // This happens if we're running in a process that doesn't care about
+ // MainThread.
+ return;
+ }
+
+ **isGCThread = true;
+}
+
+bool isMainThreadOrGCThread()
+{
+ if (isGCThread->isSet() && **isGCThread)
+ return true;
+
+ return isMainThread();
+}
+#else
+// This is necessary because JavaScriptCore.exp doesn't support preprocessor macros.
+bool isMainThreadOrGCThread()
+{
+ return isMainThread();
+}
+#endif
+
} // namespace WTF