We need to turn this on to make wtf safe to use in various threads. To do this, we likely need to move several items from initializeThreadingOnce to something in wtf (perhaps WTF::initializeThreading()). We also need to fix up FastMalloc.cpp (perhaps like https://bugs.webkit.org/attachment.cgi?id=92838&action=prettypatch but only for Chromium Windows not Windows in general.) There are some other helpful comments starting at https://bugs.webkit.org/show_bug.cgi?id=55728#c40.
Created attachment 101776 [details] Quick test on bots
Comment on attachment 101776 [details] Quick test on bots Attachment 101776 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/9231232 New failing tests: animations/combo-transform-rotate+scale.html http/tests/inspector/console-xhr-logging.html http/tests/inspector/network/network-cachedresources-with-same-urls.html http/tests/inspector/change-iframe-src.html http/tests/inspector/network/network-disable-cache-memory.html http/tests/inspector/network/network-iframe-load-and-delete.html http/tests/inspector/network/network-disable-cache-xhrs.html http/tests/inspector/network/download.html http/tests/inspector/network-preflight-options.html animations/big-rotation.html http/tests/inspector/network/network-open-load-reopen.html animations/animation-add-events-in-handler.html http/tests/inspector/network/network-content-replacement-xhr.html http/tests/inspector/network/network-close-load-open.html animations/simultaneous-start-transform.html http/tests/inspector/resource-har-conversion.html http/tests/inspector/console-resource-errors.html http/tests/inspector/resource-parameters.html http/tests/inspector/network/network-clear-after-disabled.html animations/combo-transform-translate+scale.html
Created attachment 102186 [details] Enables WTF_MULTIPLE_THREADS in chromium port No cq? - waiting for chromium trybots
Comment on attachment 102186 [details] Enables WTF_MULTIPLE_THREADS in chromium port View in context: https://bugs.webkit.org/attachment.cgi?id=102186&action=review > Source/JavaScriptCore/runtime/InitializeThreading.cpp:59 > initializeDates(); Why not remove this too? (and the String::Empty initialization). > Source/JavaScriptCore/wtf/FastMalloc.cpp:74 > +// * allocation of a reasonably complicated sfEtruct whoops > Source/JavaScriptCore/wtf/FastMalloc.cpp:83 > +#if OS(WINDOWS) and chromium? I think this already compiles fine on Windows for Apple's port. (Ditto for the OS(WINDOWS) below).
Comment on attachment 102186 [details] Enables WTF_MULTIPLE_THREADS in chromium port View in context: https://bugs.webkit.org/attachment.cgi?id=102186&action=review >> Source/JavaScriptCore/runtime/InitializeThreading.cpp:59 >> initializeDates(); > > Why not remove this too? > > (and the String::Empty initialization). Done, sorry forgot to do that. >> Source/JavaScriptCore/wtf/FastMalloc.cpp:74 > > whoops Done >> Source/JavaScriptCore/wtf/FastMalloc.cpp:83 >> +#if OS(WINDOWS) > > and chromium? > > I think this already compiles fine on Windows for Apple's port. (Ditto for the OS(WINDOWS) below). Maybe !USE(PTHREADS)? I'll try to figure out the right set of defines
Created attachment 102204 [details] CR feedback Fixed issues. I couldn't figure the better condition in FastMalloc.cpp than OS(WINDOWS) && PLATFORM(CHROMIUM). Chromium trybots are happy.
Comment on attachment 102204 [details] CR feedback View in context: https://bugs.webkit.org/attachment.cgi?id=102204&action=review > Source/JavaScriptCore/wtf/FastMalloc.cpp:87 > +#endif // OS(WINDOWS) You don't need to have these comments on the endif (and they are incorrect now anyway). > Source/JavaScriptCore/wtf/FastMalloc.cpp:113 > +static const LPVOID kTlsAllowValue = reinterpret_cast<LPVOID>(0); // must be zero Ideally make the comment look like a sentence. "Must be zero."
And move over wtfThreadData() as you mentioned.
Created attachment 102205 [details] CR feedback + wtfThreadData
Comment on attachment 102205 [details] CR feedback + wtfThreadData Clearing flags on attachment: 102205 Committed r91906: <http://trac.webkit.org/changeset/91906>
All reviewed patches have been landed. Closing bug.