RESOLVED INVALID 37206
[Qt] Enable the build with JSC_MULTIPLE_THREADS on all platforms
https://bugs.webkit.org/show_bug.cgi?id=37206
Summary [Qt] Enable the build with JSC_MULTIPLE_THREADS on all platforms
Simon Hausmann
Reported 2010-04-07 06:39:32 PDT
Currently JSC_MULTIPLE_THREADS is not enabled for the Qt build on all platforms. There are some places where this feature define is used to protect concurrent access to data structures when JavaScriptCore is used with multiple threads. For example wtf/dtoa.cpp for the conversion of doubles to strings is not reentrant and has a mutex guard that is only enabled when the feature define is set. The current lack of this feature being enabled may be the cause of flakey crashes in the HTML worker layout tests as well as crashes in QtScript when used in multiple threads.
Attachments
Simon Hausmann
Comment 1 2010-04-07 06:43:04 PDT
The following features need to be implemented: runtime/Collector.cpp:216:2: error: #error Need to initialize pagesize safely. runtime/Collector.cpp:805:2: error: #error Need a way to suspend threads on this platform /runtime/Collector.cpp:816:2: error: #error Need a way to resume threads on this platform runtime/Collector.cpp:841:2: error: #error Need a thread register struct for this platform runtime/Collector.cpp:881:2: error: #error Need a way to get thread registers on this platform runtime/Collector.cpp:921:2: error: #error Need a way to get the stack pointer for another thread on this platform
Janne Koskinen
Comment 2 2010-04-07 07:04:20 PDT
additional task for Symbian: you need to change stack size for pthread in allocator or it will keep crashing as default is 8kB. set it to max 80kB allowed by the kernel or use QThreads which does this for you.
Kenneth Rohde Christiansen
Comment 3 2010-05-07 06:13:01 PDT
Which are the platforms where this is lacking?
Laszlo Gombos
Comment 4 2010-05-07 14:49:00 PDT
(In reply to comment #3) > Which are the platforms where this is lacking? All except MAC - see http://trac.webkit.org/changeset/51288.
Kenneth Rohde Christiansen
Comment 5 2010-05-07 14:59:55 PDT
Is this really feasible for QtWebKit2.0? or maybe we should move this requirement to the 2.1 blocker instead.
Simon Hausmann
Comment 6 2010-05-18 13:40:03 PDT
(In reply to comment #5) > Is this really feasible for QtWebKit2.0? or maybe we should move this requirement to the 2.1 blocker instead. Realistically speaking this doesn't appear feasible for the 2.0 release indeed.
Simon Hausmann
Comment 7 2011-12-04 21:56:36 PST
JSC_MULTIPLE_THREADS was removed in r95510 and is considered enabled by default.
Note You need to log in before you can comment on or make changes to this bug.