On Feb 8, 2013, at 2:52 PM, Adam Barth <[email protected]> wrote: > On Fri, Feb 8, 2013 at 2:45 PM, David Kilzer <[email protected]> wrote: > >> The iOS port does not require re-architecting WebCore. >> >> Bug 109071 was about coming up with a better name for a method that is >> primarily used in ASSERT()s in WebCore. Without changing the implementation >> of that method, debug builds of WebCore on iOS assert instantly since >> WebCore execution can happen on one of two threads. >> >> We can live with keeping the method name as "isMainThread()" and have >> already moved on to other things. >> >> The rest of WebCore is largely unchanged for iOS, other than the usual >> port-specific code you need for a port, which will be posted for review as >> we continue to merge. > > How do these multiple interlocked threads interact with code that uses > thread-local storage?
The UI (main) thread and the web thread share the same thread-local storage. Those code changes are in 4 or 5 files in WTF. There are also a couple of additional mutexes in WebCore for WebSQL and the DOM wrapper cache. Access to WebCore itself is mediated by a coarse-grained lock (the web thread lock), which is taken outside of WebCore. Dave _______________________________________________ webkit-dev mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-dev

