Reviewers: Christian Plesner Hansen,

Description:
Irregexp:
* Facility for generating a node several ways.  This allows
   code to be generated for a node knowing where it is trying
   to match relative to the 'current position' and it allows
   code to be generated that knows where to backtrack to.  Both
   allow dramatic reductions in the amount of popping and pushing
   on the stack and the number of indirect jumps.
* Generate special backtracking for greedy quantifiers on
   constant-length atoms.  This allows .* to run in constant
   space relative to input string size.
* When we are checking a long sequence of characters or character
   classes in the input then we do them right to left and only the
   first (rightmost) needs to check for end-of-string.
* Record the pattern in the profile instead of just <CompiledRegExp>
* Nodes no longer contain an on_failure_ node.  This was only used
   for lookaheads and they are now handled with a special ActioNode
   instead.

Please review this at http://codereview.chromium.org/12900

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/ast.h
   M     src/bytecodes-irregexp.h
   M     src/interpreter-irregexp.cc
   M     src/jsregexp-inl.h
   M     src/jsregexp.h
   M     src/jsregexp.cc
   M     src/regexp-macro-assembler-ia32.h
   M     src/regexp-macro-assembler-ia32.cc
   M     src/regexp-macro-assembler-irregexp.h
   M     src/regexp-macro-assembler-irregexp.cc
   M     src/regexp-macro-assembler-tracer.h
   M     src/regexp-macro-assembler-tracer.cc
   M     src/regexp-macro-assembler.h
   M     test/cctest/test-regexp.cc



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to