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

Issue 548179: Port direct call from JavaScript to native RegExp to x64... (Closed)

Created:
10 years, 11 months ago by Søren Thygesen Gjesse
Modified:
9 years, 7 months ago
Reviewers:
Lasse Reichstein
CC:
v8-dev
Visibility:
Public.

Description

Port direct call from JavaScript to native RegExp to x64 Code tested on both Linux and Windows. Added a bit more abstraction to calling a C function from generated code. Minor tweaks to the ia32 version. Committed: http://code.google.com/p/v8/source/detail?r=3740

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 32

Patch Set 3 : '' #

Total comments: 2

Patch Set 4 : '' #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+478 lines, -92 lines) Patch
M src/assembler.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/assembler-ia32.h View 1 chunk +3 lines, -2 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 3 11 chunks +33 lines, -24 lines 2 comments Download
M src/x64/codegen-x64.cc View 1 2 3 3 chunks +359 lines, -1 line 4 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 2 chunks +22 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 2 chunks +46 lines, -1 line 0 comments Download
M src/x64/regexp-macro-assembler-x64.h View 1 chunk +0 lines, -15 lines 0 comments Download
M src/x64/regexp-macro-assembler-x64.cc View 1 2 3 10 chunks +14 lines, -47 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Søren Thygesen Gjesse
10 years, 11 months ago (2010-01-28 10:33:20 UTC) #1
Lasse Reichstein
LGTM with a few corrections. http://codereview.chromium.org/548179/diff/18/3005 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/548179/diff/18/3005#newcode6571 src/x64/codegen-x64.cc:6571: if (!FLAG_regexp_entry_native) { You ...
10 years, 11 months ago (2010-01-28 12:39:46 UTC) #2
Søren Thygesen Gjesse
Thank you for the through review, that caught some nasty bugs. Please take another look. ...
10 years, 11 months ago (2010-01-28 14:48:21 UTC) #3
Lasse Reichstein
LGTM http://codereview.chromium.org/548179/diff/6001/7001 File src/ia32/codegen-ia32.cc (right): http://codereview.chromium.org/548179/diff/6001/7001#newcode8405 src/ia32/codegen-ia32.cc:8405: #endif Perhaps use #else to make all the ...
10 years, 10 months ago (2010-01-29 08:09:08 UTC) #4
Søren Thygesen Gjesse
10 years, 10 months ago (2010-01-29 13:06:53 UTC) #5
http://codereview.chromium.org/548179/diff/6001/7001
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/548179/diff/6001/7001#newcode8405
src/ia32/codegen-ia32.cc:8405: #endif
On 2010/01/29 08:09:08, Lasse Reichstein wrote:
> Perhaps use #else to make all the following code go away if regexp aren't
> native.

Done.

http://codereview.chromium.org/548179/diff/6001/7005
File src/x64/codegen-x64.cc (right):

http://codereview.chromium.org/548179/diff/6001/7005#newcode6654
src/x64/codegen-x64.cc:6654: __ j(greater, &runtime);
On 2010/01/29 08:09:08, Lasse Reichstein wrote:
> greater -> above

Thanks, fixed in ia32 version as well.

http://codereview.chromium.org/548179/diff/6001/7005#newcode6709
src/x64/codegen-x64.cc:6709: __ andb(rbx,
Immediate(kStringRepresentationEncodingMask));
On 2010/01/29 08:09:08, Lasse Reichstein wrote:
> Do you need the representation bits any more? You know that it's sequential.
> I.e., you can just and with EncodingMask and use the Z flag directly to
branch,
> without a compare in between.

The reason is that the jump to label seq_string from above has both encoding and
representation in rbx.

Powered by Google App Engine
This is Rietveld 408576698