[webkit-dev] YARR

Gavin Barraclough barraclough at apple.com
Tue May 19 14:27:59 PDT 2009


On May 19, 2009, at 12:55 PM, Kenneth Christiansen wrote:

> Great! I notices that RegExp.h still includes WREC, will that be  
> changed?

WREC should  be removed completely fairly soon.  We just wanted to  
leave some overlap with YARR and WREC both in ToT, in case we needed  
to revert back to WREC for any reason.  But right now YARR is looking  
stable, so we should probably finish the move fairly soon.  QT & GTK  
switching over is clearly a great step towards us being able to do  
so. :-)

Right now, if it makes life easier, we could probably switch the  
includes in that file to be:

#if ENABLE(YARR)
#include "yarr/RegexJIT.h"
#include "yarr/RegexInterpreter.h"
#else
#include "WREC.h"
#endif

> If it requires the JIT why are there both a ENABLE_YARR and an  
> ENABLE_YARR_JIT ?

YARR can be used both in JIT mode, or as an interpreter (the latter  
being enabled just with ENABLE_YARR).

Before YARR, platforms either used just pcre (if they did not support  
any JIT generation), or used WREC for simple regexes, and fell back to  
pcre for more complex ones.  Right now platforms that don't support  
JIT generation still just use pcre, but platforms that do JIT have  
switched to using the YARR JIT, falling back to pcre for cases that  
YARR does not handle (which is fewer than for WREC).

YARR is still work in progress, and the two key things left to do are  
to optimize the YARR interpreter (which is missing some key and  
obvious steps in optimization, and as such is still slower that pcre),  
and to complete the YARR JIT, so it can handle all regular expressions  
(YARR interpreter already has full coverage, we're just missing some  
code generation).

Once these tasks are completed we hope to switch platforms that don't  
support JIT generation over to use YARR interpreter, and that  
platforms that do support JIT generation will just be using YARR JIT  
(with no need to fall back to anything else, since it will have  
complete coverage).

cheers,
G.

>
> Cheers,
> Kenneth
>
>
> On Tue, May 19, 2009 at 9:52 PM, Geoffrey Garen <ggaren at apple.com>  
> wrote:
>>>> If so, does it work on the same platforms at the JSCore JIT?
>>>
>>> What problems are those?
>>
>> Oops!
>>
>> "platforms"
>>
>> Yes, it works on the same platforms as the JSCore JIT.
>>
>> Geoff
>>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090519/77bea5a6/attachment.html>


More information about the webkit-dev mailing list