[webkit-dev] Merging the iOS port to svn.webkit.org (Re: WebCore and interlocking threads)
mjs at apple.com
Sat Feb 9 19:38:07 PST 2013
On Feb 9, 2013, at 3:01 PM, James Robinson <jamesr at google.com> wrote:
> On Sat, Feb 9, 2013 at 11:52 AM, Maciej Stachowiak <mjs at apple.com> wrote:
> P.S. "Running WebCore on interlocking threads" is a needlessly scary way to describe what iOS WebKit does. There is no complex fine-grained locking or actual parallel execution. It's more like what would happen if you ran WebKit on a GCD dispatch queue or a thread in a userspace M:N threading library, instead of on an underlying OS-level thread (really it's a restricted subset of that). As such, it has very little impact on WebCore and below. Mainly it just requires that the threading primitives have an appropriate platform implementation on iOS.
> http://trac.webkit.org/changeset/141812 (https://bugs.webkit.org/show_bug.cgi?id=108139) added fine-grain locking to the AtomicString table in order to support the iOS WebKit threading model. If parallel execution is not possible, why would this need locking?
This is one of the few pieces of code that gets touched for other threads, mainly because pieces of WebCore get used for some non-Web-content-related drawing. I'll have to do research if you want to know in more detail.
Because it's the weekend and I have the copious free time, I will go over the full set of diffs and post a full list of the threading-model-related changes that are required in WebCore and below. I expect it to be surprisingly short and low-impact, but I will post it even if it looks grim.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev