Removed WTFTHREADDATA_MULTITHREADED, making it always true
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Sep 2011 19:34:39 +0000 (19:34 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Sep 2011 19:34:39 +0000 (19:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=68549

Reviewed by Darin Adler.

Another part of making threads exist in WebKit.

* wtf/WTFThreadData.cpp:
* wtf/WTFThreadData.h:
(WTF::wtfThreadData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/wtf/WTFThreadData.cpp
Source/JavaScriptCore/wtf/WTFThreadData.h

index 606b92b..4e472ce 100644 (file)
@@ -1,3 +1,16 @@
+2011-09-21  Geoffrey Garen  <ggaren@apple.com>
+
+        Removed WTFTHREADDATA_MULTITHREADED, making it always true
+        https://bugs.webkit.org/show_bug.cgi?id=68549
+
+        Reviewed by Darin Adler.
+        
+        Another part of making threads exist in WebKit.
+
+        * wtf/WTFThreadData.cpp:
+        * wtf/WTFThreadData.h:
+        (WTF::wtfThreadData):
+
 2011-09-21  Dan Bernstein  <mitz@apple.com>
 
         JavaScriptCore Part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
index 84e1856..241fbe4 100644 (file)
 
 namespace WTF {
 
-#if WTFTHREADDATA_MULTITHREADED
 ThreadSpecific<WTFThreadData>* WTFThreadData::staticData;
-#else
-WTFThreadData* WTFThreadData::staticData;
-#endif
 
 WTFThreadData::WTFThreadData()
     : m_atomicStringTable(0)
index 243aa91..4d03e18 100644 (file)
 #include <wtf/Noncopyable.h>
 #include <wtf/StackBounds.h>
 #include <wtf/text/StringHash.h>
-
-// This was ENABLE(WORKERS) in WebCore, but this is not defined when compiling JSC.
-// However this check was not correct anyway, re this comment:
-//    // FIXME: Workers are not necessarily the only feature that make per-thread global data necessary.
-//    // We need to check for e.g. database objects manipulating strings on secondary threads.
-// Always enabling this is safe, and should be a better option until we can come up
-// with a better define.
-#define WTFTHREADDATA_MULTITHREADED 1
-
-#if WTFTHREADDATA_MULTITHREADED
 #include <wtf/ThreadSpecific.h>
 #include <wtf/Threading.h>
-#endif
 
 #if USE(JSC)
 // FIXME: This is a temporary layering violation while we move more string code to WTF.
@@ -131,18 +120,13 @@ private:
     StackBounds m_stackBounds;
 #endif
 
-#if WTFTHREADDATA_MULTITHREADED
     static JS_EXPORTDATA ThreadSpecific<WTFThreadData>* staticData;
-#else
-    static JS_EXPORTDATA WTFThreadData* staticData;
-#endif
     friend WTFThreadData& wtfThreadData();
     friend class AtomicStringTable;
 };
 
 inline WTFThreadData& wtfThreadData()
 {
-#if WTFTHREADDATA_MULTITHREADED
     // WRT WebCore:
     //    WTFThreadData is used on main thread before it could possibly be used
     //    on secondary ones, so there is no need for synchronization here.
@@ -152,14 +136,6 @@ inline WTFThreadData& wtfThreadData()
     if (!WTFThreadData::staticData)
         WTFThreadData::staticData = new ThreadSpecific<WTFThreadData>;
     return **WTFThreadData::staticData;
-#else
-    if (!WTFThreadData::staticData) {
-        WTFThreadData::staticData = static_cast<WTFThreadData*>(fastMalloc(sizeof(WTFThreadData)));
-        // WTFThreadData constructor indirectly uses staticData, so we need to set up the memory before invoking it.
-        new (WTFThreadData::staticData) WTFThreadData;
-    }
-    return *WTFThreadData::staticData;
-#endif
 }
 
 } // namespace WTF