]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/InitializeThreading.cpp
JavaScriptCore-903.tar.gz
[apple/javascriptcore.git] / runtime / InitializeThreading.cpp
index 51d43ee224c3b42d178392a8a784dac0e6d72965..27611b757b34be5c564ce03bb0553ba736e64660 100644 (file)
@@ -29,7 +29,7 @@
 #include "config.h"
 #include "InitializeThreading.h"
 
-#include "Collector.h"
+#include "Heap.h"
 #include "dtoa.h"
 #include "Identifier.h"
 #include "JSGlobalObject.h"
@@ -48,13 +48,17 @@ static pthread_once_t initializeThreadingKeyOnce = PTHREAD_ONCE_INIT;
 
 static void initializeThreadingOnce()
 {
+    // StringImpl::empty() does not construct its static string in a threadsafe fashion,
+    // so ensure it has been initialized from here.
+    StringImpl::empty();
+
     WTF::initializeThreading();
     wtfThreadData();
-    initializeUString();
     JSGlobalData::storeVPtrs();
 #if ENABLE(JSC_MULTIPLE_THREADS)
     s_dtoaP5Mutex = new Mutex;
     initializeDates();
+    RegisterFile::initializeThreading();
 #endif
 }