Here's a new upload. I cleaned up some stuff putting the details of the quick check that has been performed into the GenerationVariant object instead of having a pointer. Since GenerationVariants are copied shallowly with the expectation that the copies are independent afterwards this seemed more healthy. Also addressed review comments and added more explanation in the code.
http://codereview.chromium.org/14194/diff/1/7 File src/interpreter-irregexp.cc (right): http://codereview.chromium.org/14194/diff/1/7#newcode279 Line 279: ASSERT(sizeof(Char) == 1); On 2008/12/18 09:52:26, Christian Plesner Hansen wrote: > Could be a static check. I think that would provoke the template implementation of the compilers a little too much. http://codereview.chromium.org/14194/diff/1/11 File src/jsregexp.cc (right): http://codereview.chromium.org/14194/diff/1/11#newcode1949 Line 1949: v |= v >> 1; On 2008/12/18 09:52:26, Christian Plesner Hansen wrote: > I'm terribly annoyed that I can't think of a simpler way to do this. In any > case it needs a 'v |= v >> 16' to work. It's only intended for use with 16 bit characters but it's easier to add the extra or operation than to think of a name that indicates that. http://codereview.chromium.org/14194/diff/1/11#newcode2586 Line 2586: * \ F | On 2008/12/18 09:52:26, Christian Plesner Hansen wrote: > Does it lint? Funnily enough it does, yes. http://codereview.chromium.org/14194/diff/1/5 File src/jsregexp.h (right): http://codereview.chromium.org/14194/diff/1/5#newcode1020 Line 1020: virtual int EatsAtLeast(int recursion_depth); // Returns 0. On 2008/12/18 09:52:26, Christian Plesner Hansen wrote: > Since loop choice nodes now know which alternative is their continue node maybe > we can get a less conservative estimate than this. I think this has to wait until we know the minimum number of characters a loop body can match. http://codereview.chromium.org/14194 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
