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

Issue 18363: * Irregexp: Move from a byte-oriented bytecode format to a 32-bit oriented... (Closed)

Created:
11 years, 11 months ago by Erik Corry
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

* Irregexp: Move from a byte-oriented bytecode format to a 32-bit oriented bytecode format. This provides a nice speedup on Intel and probably an even better one on ARM. Also removes the 256-register limitation on the interpreter. Committed: http://code.google.com/p/v8/source/detail?r=1111

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+245 lines, -193 lines) Patch
M src/bytecodes-irregexp.h View 1 chunk +52 lines, -43 lines 2 comments Download
M src/interpreter-irregexp.cc View 15 chunks +127 lines, -79 lines 0 comments Download
M src/regexp-macro-assembler-irregexp.h View 1 chunk +1 line, -1 line 0 comments Download
M src/regexp-macro-assembler-irregexp.cc View 13 chunks +60 lines, -67 lines 0 comments Download
M src/regexp-macro-assembler-irregexp-inl.h View 1 chunk +5 lines, -3 lines 2 comments Download

Messages

Total messages: 3 (0 generated)
Erik Corry
11 years, 11 months ago (2009-01-20 13:51:58 UTC) #1
Christian Plesner Hansen
Lgtm! http://codereview.chromium.org/18363/diff/1/6 File src/bytecodes-irregexp.h (right): http://codereview.chromium.org/18363/diff/1/6#newcode40 Line 40: V(BREAK, 0, 4) /* bc8 */ \ ...
11 years, 11 months ago (2009-01-20 14:22:17 UTC) #2
Erik Corry
11 years, 11 months ago (2009-01-20 18:49:55 UTC) #3
http://codereview.chromium.org/18363/diff/1/6
File src/bytecodes-irregexp.h (right):

http://codereview.chromium.org/18363/diff/1/6#newcode40
Line 40: V(BREAK,              0, 4)   /* bc8                                   
    */ \
On 2009/01/20 14:22:17, Christian Plesner Hansen wrote:
> Why not count in whole words?

Unfortunately, the Label class counts in bytes and so this is rather a large
change to make.  I agree it would be cleaner, but I'm going to save it for
another change.

http://codereview.chromium.org/18363/diff/1/3
File src/regexp-macro-assembler-irregexp-inl.h (right):

http://codereview.chromium.org/18363/diff/1/3#newcode39
Line 39: void RegExpMacroAssemblerIrregexp::Emit(uint32_t byte, uint32_t
twenty_four_bits) {
On 2009/01/20 14:22:17, Christian Plesner Hansen wrote:
> Maybe assert that twenty_four_bits does indeed only use 24 bits?

Right now we don't check so the assert would not always be true (though it
always is for any sensible regexp).  I will add the assert when I add the check
(it's on the TODO list).

Powered by Google App Engine
This is Rietveld 408576698