Reviewers: Christian Plesner Hansen, Description: * No failures on our own tests. * 26 failures on Mozilla tests. * Remember to include linebreaks in \s * Interpreter takes flat 16 bit strings as input. * Remove dubious test from mjsunit/regexp.js (http://code.google.com/p/v8/issues/detail?id=152) * Add debugging help (off by default) to unicode-test.js * The regexp-macro-assembler interface now has the concept of a current_character register. * Removed CheckCharacterClass from regexp-macro-assembler (too high level an operation for this level). * Introduce CheckCharacterLT and CheckCharacterGT to the macro assembler interface. * Make the re2k assembler use a growable instruction buffer to eliminate an arbitrary size limit. * Add --trace-regexp-bytecodes option to debug build. * Make RegExpNode::GoTo virtual so the backtrack node can just inline itself. * Add protected RegExpNode::Bind() that subclasses use when emitting their code. * Limit max recursion in Emit stage to avoid stack overflow. * Remember to reserve at least 2 registers for 0th capture. * Bail out to JSCRE when encountering \b, ^, $. * Fix code emission and implement guards on ChoiceNode. (Still doesn't use dispatch table). * Implement code emission for TextNode. * Remember to set up backtrack when writing capture indeces to capture registers so they can be unwound if neccessary. * DispatchTableConstructor::VisitBackreference isn't yet implemented, but we don't crash the VM. (Later we discover the regexp has backreferences and defer to jscre). * \b in a character class means backspace.
Please review this at http://codereview.chromium.org/11228 SVN Base: http://v8.googlecode.com/svn/branches/experimental/regexp2000/ Affected files: M src/assembler-re2k-inl.h M src/assembler-re2k.h M src/assembler-re2k.cc M src/bytecodes-re2k.h M src/interpreter-re2k.h M src/interpreter-re2k.cc M src/jsregexp-inl.h M src/jsregexp.h M src/jsregexp.cc M src/parser.cc M src/regexp-macro-assembler-ia32.h M src/regexp-macro-assembler-ia32.cc M src/regexp-macro-assembler-re2k.h M src/regexp-macro-assembler-re2k.cc M src/regexp-macro-assembler.h M test/cctest/test-regexp.cc M test/mjsunit/regexp.js M test/mjsunit/unicode-test.js --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
