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

Issue 6805005: Fix opmitized external array access for compound assignments (Closed)

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

Description

Fix opmitized external array access for compound assignments and count operations, also implement missing ARM typed array Hydrogen loads and stores. BUG=none TEST=none Committed: http://code.google.com/p/v8/source/detail?r=7536

Patch Set 1 #

Patch Set 2 : nits #

Patch Set 3 : fixes #

Patch Set 4 : implement arm support for external arrays #

Patch Set 5 : remove unchanged file #

Total comments: 9

Patch Set 6 : review feedback #

Patch Set 7 : final version #

Unified diffs Side-by-side diffs Delta from patch set Stats (+257 lines, -127 lines) Patch
M src/arm/lithium-arm.cc View 1 2 3 4 5 2 chunks +22 lines, -22 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 3 chunks +84 lines, -16 lines 0 comments Download
M src/ast.h View 1 2 3 4 5 17 chunks +31 lines, -20 lines 0 comments Download
M src/ast.cc View 1 2 3 4 5 3 chunks +15 lines, -3 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 2 chunks +10 lines, -1 line 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 9 chunks +51 lines, -54 lines 0 comments Download
M src/type-info.h View 1 2 chunks +4 lines, -4 lines 0 comments Download
M src/type-info.cc View 1 4 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 3 4 5 4 chunks +36 lines, -3 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
danno
9 years, 8 months ago (2011-04-06 12:33:38 UTC) #1
danno
Implement ARM support for external arrays.
9 years, 8 months ago (2011-04-06 15:34:50 UTC) #2
Mads Ager (chromium)
9 years, 8 months ago (2011-04-06 16:45:15 UTC) #3
One bug in the arm version. Other than that LGTM

http://codereview.chromium.org/6805005/diff/4009/src/arm/lithium-arm.cc
File src/arm/lithium-arm.cc (right):

http://codereview.chromium.org/6805005/diff/4009/src/arm/lithium-arm.cc#newco...
src/arm/lithium-arm.cc:1887: : UseRegister(instr->key());
key -> value.

This should fail a test that Jakob added today.

http://codereview.chromium.org/6805005/diff/4009/src/ast.h
File src/ast.h (right):

http://codereview.chromium.org/6805005/diff/4009/src/ast.h#newcode713
src/ast.h:713: int position() const { return position_; }
Repeat the virtual keyword all the way down for virtual methods.

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.cc
File src/hydrogen.cc (right):

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.cc#newcode3217
src/hydrogen.cc:3217: instr = BuildStoreKeyed(object,
Looks like this will not fit on one line?

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.cc#newcode3285
src/hydrogen.cc:3285: expr->RecordTypeFeedback(oracle());
Maybe move this to the only branch where it is needed?

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.cc#newcode4587
src/hydrogen.cc:4587: expr->RecordTypeFeedback(oracle());
Move to where it is needed?

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.h
File src/hydrogen.h (right):

http://codereview.chromium.org/6805005/diff/4009/src/hydrogen.h#newcode828
src/hydrogen.h:828: HInstruction* BuildLoadKeyed(HValue*   obj,
Remove spaces between '*' and 'obj'. Ditto for other occurrences.

http://codereview.chromium.org/6805005/diff/4009/src/ia32/lithium-codegen-ia3...
File src/ia32/lithium-codegen-ia32.cc (right):

http://codereview.chromium.org/6805005/diff/4009/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:2314: default:
Why do you want a default case here? Isn't it better to not have it so you
realize when you add a new type?

http://codereview.chromium.org/6805005/diff/4009/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:2984: default:
Ditto.

http://codereview.chromium.org/6805005/diff/4009/test/cctest/test-api.cc
File test/cctest/test-api.cc (right):

http://codereview.chromium.org/6805005/diff/4009/test/cctest/test-api.cc#newc...
test/cctest/test-api.cc:11527: " for (var i=0;i<40;++i) {"
Add some spacing in all these loops?

Powered by Google App Engine
This is Rietveld 408576698