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

Issue 552186: ARM: Implement native substring copying. (Closed)

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

Description

ARM: Implement native substring copying.

Patch Set 1 #

Patch Set 2 : Added tests. #

Total comments: 11

Patch Set 3 : Restructured main Generate function. Fixed bugs. #

Patch Set 4 : Changed order of tests to bail out earlier on short substrings. #

Total comments: 18
Unified diffs Side-by-side diffs Delta from patch set Stats (+564 lines, -18 lines) Patch
M src/arm/assembler-arm.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/arm/assembler-arm.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/arm/codegen-arm.h View 1 2 1 chunk +49 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 2 chunks +318 lines, -1 line 16 comments Download
M src/arm/macro-assembler-arm.h View 1 2 4 chunks +38 lines, -7 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 2 chunks +70 lines, -1 line 0 comments Download
M src/arm/simulator-arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/SConscript View 1 chunk +4 lines, -1 line 0 comments Download
M test/mjsunit/substr.js View 2 2 chunks +78 lines, -3 lines 2 comments Download

Messages

Total messages: 6 (0 generated)
Lasse Reichstein
ARM review for you.
10 years, 11 months ago (2010-01-27 14:19:03 UTC) #1
Erik Corry
http://codereview.chromium.org/552186/diff/3001/3005 File src/arm/macro-assembler-arm.cc (right): http://codereview.chromium.org/552186/diff/3001/3005#newcode938 src/arm/macro-assembler-arm.cc:938: ASSERT((SeqAsciiString::kHeaderSize & kObjectAlignmentMask) == 0); SeqAsciiString? http://codereview.chromium.org/552186/diff/3001/3005#newcode940 src/arm/macro-assembler-arm.cc:940: add(scratch1, ...
10 years, 11 months ago (2010-01-28 09:22:05 UTC) #2
Erik Corry
http://codereview.chromium.org/552186/diff/3001/3003 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/552186/diff/3001/3003#newcode6797 src/arm/codegen-arm.cc:6797: bool ascii) { All this complexity needs to be ...
10 years, 11 months ago (2010-01-28 10:05:35 UTC) #3
Lasse Reichstein
Please re-review. It actually works now. And is called. http://codereview.chromium.org/552186/diff/3001/3003 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/552186/diff/3001/3003#newcode6797 src/arm/codegen-arm.cc:6797: ...
10 years, 10 months ago (2010-02-02 14:43:22 UTC) #4
Lasse Reichstein
Transfer of reviewer. You're it.
10 years, 10 months ago (2010-02-03 13:32:15 UTC) #5
Lasse Reichstein
9 years, 6 months ago (2011-06-14 11:13:06 UTC) #6
http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc
File src/arm/codegen-arm.cc (right):

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:6858: __ ldrb(scratch, MemOperand(src, count), pl);
Done.

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:6870: 
Done.

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:6882: bool dest_always_aligned = (flags &
DEST_ALWAYS_ALIGNED) != 0;
Added.

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:6908: __ and_(scratch4, dest, Operand(0x03), SetCC);
More like "kReadAlignmentMask" (which is word alignment, which just happens to
be pointer alignment too). I'll add a local constant.

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:6986: __ cmp(scratch3, Operand(8));
Added comment to explain.

http://codereview.chromium.org/552186/diff/9001/src/arm/codegen-arm.cc#newcod...
src/arm/codegen-arm.cc:7106: __ add(r1, r0, Operand(SeqAsciiString::kHeaderSize
- kHeapObjectTag));
Comment added.

http://codereview.chromium.org/552186/diff/9001/test/mjsunit/substr.js
File test/mjsunit/substr.js (right):

http://codereview.chromium.org/552186/diff/9001/test/mjsunit/substr.js#newcode47
test/mjsunit/substr.js:47: //for (var i = 0; i < s.length; i++)
Whoops. Removed.

Powered by Google App Engine
This is Rietveld 408576698