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

Issue 8820015: Hydrogen support for context allocated harmony bindings. (Closed)

Created:
9 years ago by Steven
Modified:
9 years ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Hydrogen support for context allocated harmony bindings. This CL adds support for loading from and storing to context slots belonging to harmony let or const bound variables. Checks for the hole value are performed and the function is deoptimized if they fail. The full-codegen generated code will take care of properly throwing a reference error in these cases. TEST=mjsunit/harmony/block-let-crankshaft.js Committed: http://code.google.com/p/v8/source/detail?r=10220

Patch Set 1 #

Total comments: 2

Patch Set 2 : Don't use the Variable object and fix test case. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+198 lines, -31 lines) Patch
M src/arm/lithium-arm.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 2 chunks +12 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 6 chunks +15 lines, -18 lines 0 comments Download
M src/hydrogen-instructions.h View 1 5 chunks +49 lines, -4 lines 2 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 chunk +10 lines, -1 line 0 comments Download
M src/ia32/lithium-ia32.cc View 2 chunks +5 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 chunk +10 lines, -1 line 0 comments Download
M src/x64/lithium-x64.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M test/mjsunit/harmony/block-let-crankshaft.js View 1 3 chunks +89 lines, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
Steven
PTAL.
9 years ago (2011-12-06 14:36:48 UTC) #1
fschneider
http://codereview.chromium.org/8820015/diff/1/test/mjsunit/harmony/block-let-crankshaft.js File test/mjsunit/harmony/block-let-crankshaft.js (right): http://codereview.chromium.org/8820015/diff/1/test/mjsunit/harmony/block-let-crankshaft.js#newcode98 test/mjsunit/harmony/block-let-crankshaft.js:98: function f13(x) { Where is f13-f23 invoked and optimized? ...
9 years ago (2011-12-08 12:58:54 UTC) #2
Steven
I added the missing functions to the array. Furthermore I removed the usage of the ...
9 years ago (2011-12-08 14:25:41 UTC) #3
fschneider
LGTM with one more comment: http://codereview.chromium.org/8820015/diff/5001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): http://codereview.chromium.org/8820015/diff/5001/src/hydrogen-instructions.h#newcode3510 src/hydrogen-instructions.h:3510: : slot_index_(var->index()) { I'm ...
9 years ago (2011-12-09 08:37:40 UTC) #4
Steven
9 years ago (2011-12-09 09:44:56 UTC) #5
http://codereview.chromium.org/8820015/diff/5001/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (right):

http://codereview.chromium.org/8820015/diff/5001/src/hydrogen-instructions.h#...
src/hydrogen-instructions.h:3510: : slot_index_(var->index()) {
On 2011/12/09 08:37:40, fschneider wrote:
> I'm not convinced that two constructors are better here: I'd rather see at the
> call-site which mode is used (with or without hole-check) instead of
> distributing the logic into different files.

Agreed.

Powered by Google App Engine
This is Rietveld 408576698