Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Issue 16506: Recognize standard character classes and implement more efficient matchers. (Closed)

Created:
11 years, 11 months ago by Lasse Reichstein
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Recognizes character classes like whitespace and non-newline and generates more efficient code.

Patch Set 1 #

Patch Set 2 : Now lints #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+293 lines, -51 lines) Patch
M src/ast.h View 1 3 chunks +42 lines, -8 lines 2 comments Download
M src/jsregexp.cc View 1 7 chunks +108 lines, -31 lines 5 comments Download
M src/regexp-macro-assembler.h View 1 chunk +10 lines, -0 lines 0 comments Download
M src/regexp-macro-assembler-ia32.h View 3 chunks +12 lines, -4 lines 0 comments Download
M src/regexp-macro-assembler-ia32.cc View 3 chunks +93 lines, -4 lines 1 comment Download
M src/regexp-macro-assembler-tracer.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/regexp-macro-assembler-tracer.cc View 3 chunks +24 lines, -4 lines 1 comment Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein
This change only really optimizes matching of whitespace yet. Code-review please.
11 years, 11 months ago (2009-01-02 10:27:48 UTC) #1
Mads Ager (chromium)
LGTM http://codereview.chromium.org/16506/diff/201/401 File src/ast.h (right): http://codereview.chromium.org/16506/diff/201/401#newcode706 Line 706: // used for minimizing the work when ...
11 years, 11 months ago (2009-01-02 10:45:16 UTC) #2
Mads Ager (chromium)
11 years, 11 months ago (2009-01-02 10:51:06 UTC) #3
One additional comment.

http://codereview.chromium.org/16506/diff/201/403
File src/regexp-macro-assembler-ia32.cc (right):

http://codereview.chromium.org/16506/diff/201/403#newcode409
Line 409: bool RegExpMacroAssemblerIA32::CheckSpecialCharacterClass(uc16 type,
A lot of unnamed constants are used in this code and it is not obvious to me
what is going on.  I think each of the cases in the switch should have a comment
explaining what is going on.

Powered by Google App Engine
This is Rietveld 408576698