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

Issue 6656001: Support external arrays in Crankshaft (Closed)

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

Description

Support external arrays in Crankshaft Add specialized hydrogen and lithium instructions to support loading and storing to external arrays. Committed: http://code.google.com/p/v8/source/detail?r=7354

Patch Set 1 #

Patch Set 2 : get loads to work #

Patch Set 3 : implement loads and stores for ia32 #

Patch Set 4 : implement x64 #

Patch Set 5 : stub out arm #

Total comments: 28

Patch Set 6 : addressed review feedback #

Patch Set 7 : review feedback, merge with latest #

Patch Set 8 : final version #

Unified diffs Side-by-side diffs Delta from patch set Stats (+590 lines, -176 lines) Patch
M src/arm/lithium-arm.h View 1 2 3 4 5 6 4 chunks +22 lines, -14 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 5 6 3 chunks +20 lines, -7 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 2 chunks +8 lines, -2 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 6 2 chunks +8 lines, -7 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 6 chunks +20 lines, -14 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 8 chunks +47 lines, -20 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 6 2 chunks +58 lines, -2 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 2 3 4 2 chunks +44 lines, -0 lines 0 comments Download
M src/ia32/disasm-ia32.cc View 1 2 2 chunks +24 lines, -4 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 3 chunks +91 lines, -23 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 4 chunks +23 lines, -16 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 6 2 chunks +35 lines, -16 lines 0 comments Download
M src/objects.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 3 chunks +86 lines, -23 lines 0 comments Download
src/x64/lithium-x64.h View 1 2 3 4 5 6 4 chunks +21 lines, -14 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 5 6 7 2 chunks +29 lines, -14 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 3 4 5 6 1 chunk +47 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
danno
Please review. Thanks!
9 years, 9 months ago (2011-03-24 10:09:02 UTC) #1
Kevin Millikin (Chromium)
I have a few comments below. http://codereview.chromium.org/6656001/diff/11001/src/arm/lithium-arm.h File src/arm/lithium-arm.h (right): http://codereview.chromium.org/6656001/diff/11001/src/arm/lithium-arm.h#newcode1230 src/arm/lithium-arm.h:1230: ExternalArrayType array_type() const ...
9 years, 9 months ago (2011-03-24 11:21:00 UTC) #2
Mads Ager (chromium)
Quick comments. Seems like Kevin is doing a review now as well, so I'll leave ...
9 years, 9 months ago (2011-03-24 11:31:20 UTC) #3
danno
Addressed feedback, but not everything, so please see my comments. Thanks! Danno http://codereview.chromium.org/6656001/diff/11001/src/arm/lithium-arm.h File src/arm/lithium-arm.h ...
9 years, 9 months ago (2011-03-24 13:18:38 UTC) #4
fschneider
http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia32.cc#newcode2188 src/ia32/lithium-codegen-ia32.cc:2188: Register temp((result.is(eax)) ? ebx : eax); On 2011/03/24 11:31:20, ...
9 years, 9 months ago (2011-03-24 13:26:11 UTC) #5
Kevin Millikin (Chromium)
LGTM. http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia32.cc#newcode2250 src/ia32/lithium-codegen-ia32.cc:2250: __ movsx_b(ToRegister(instr->result()), I didn't think of the ToDoubleRegister ...
9 years, 9 months ago (2011-03-24 13:29:40 UTC) #6
Lasse Reichstein
9 years, 9 months ago (2011-03-24 22:09:02 UTC) #7
drive-by comment.

http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia...
File src/ia32/lithium-codegen-ia32.cc (right):

http://codereview.chromium.org/6656001/diff/11001/src/ia32/lithium-codegen-ia...
src/ia32/lithium-codegen-ia32.cc:2273: __ cmp(Operand(result),
Immediate(0x80000000));
Or use:
  __ test(result, Operand(result));
  DeoptimizeIf(negative, instr->environment());
It avoids the 32-bit immediate.

Powered by Google App Engine
This is Rietveld 408576698