• erik.corry@gmail.com's avatar
    Irregexp: · ba09ec5e
    erik.corry@gmail.com authored
    * 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 choice node instead.
    Review URL: http://codereview.chromium.org/12900
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    ba09ec5e
regexp-macro-assembler-irregexp.cc 10 KB