[webkit-dev] [webkit-changes] [35474] trunk/JavaScriptCore

Alexey Proskuryakov ap at webkit.org
Thu Jul 31 13:00:25 PDT 2008

On Jul 31, 2008, at 11:40 PM, Justin Haygood wrote:

>> Well, what I'm saying is that maintaining our own abstraction layer  
>> is
>> a large and unnecessary burden.
> We already do maintain it... WebCore uses it quite heavily. Why not  
> use it?

Right now, the abstraction is weaker than needed by JSC, and hasn't  
been scrutinized for interoperability in non-trivial cases (e.g.  
WebCore threads never die, so we didn't need to define and  
interoperably implement the behavior of synchronization primitives in  
this case).

Obviously, the suggestion to more fully embrace pthreads involves  
removing other implementations from Threading*.cpp eventually, so that  
we wouldn't need to maintain this code.

> It uses the platform's native threading APIs (gthread on glib,  
> QThread on Qt, pthread on OS X, Win32 threads on Win32)

Naturally, pthreads also uses native threading APIs on each platform  
(even more native, as it does not go through Qt/gtk wrappers, which  
may become important for performance and correctness). But with  
pthreads, we get well tested implementations for many platforms, with  
an API that is documented in man pages, books etc.

Are there any benefits in redoing all this work? As Brent wrote, not  
having to include pthreads.dll is beneficial, but I do not see why one  
couldn't statically link pthreads, if needed.

- WBR, Alexey Proskuryakov

More information about the webkit-dev mailing list