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

Issue 860033002: Computed property names for object literals in TurboFan. (Closed)

Created:
5 years, 11 months ago by Michael Starzinger
Modified:
5 years, 10 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@local_graph-builder-computed-names-1
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Computed property names for object literals in TurboFan. R=dslomov@chromium.org TEST=mjsunit/harmony/computed-property-names Committed: https://crrev.com/bd7f546f11036974c9fec616b02bdb56ce86a114 Cr-Commit-Position: refs/heads/master@{#26174}

Patch Set 1 #

Patch Set 2 : Minor cleanup. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -8 lines) Patch
M src/compiler/ast-graph-builder.cc View 2 chunks +62 lines, -2 lines 2 comments Download
M test/mjsunit/harmony/computed-property-names.js View 1 1 chunk +8 lines, -1 line 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
Michael Starzinger
5 years, 11 months ago (2015-01-20 14:01:32 UTC) #1
Dmitry Lomov (no reviews)
lgtm
5 years, 11 months ago (2015-01-20 14:45:58 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/860033002/20001
5 years, 11 months ago (2015-01-20 16:23:28 UTC) #4
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 11 months ago (2015-01-20 16:52:57 UTC) #5
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/bd7f546f11036974c9fec616b02bdb56ce86a114 Cr-Commit-Position: refs/heads/master@{#26174}
5 years, 11 months ago (2015-01-20 16:53:10 UTC) #6
arv (Not doing code reviews)
https://codereview.chromium.org/860033002/diff/20001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/860033002/diff/20001/src/compiler/ast-graph-builder.cc#newcode1131 src/compiler/ast-graph-builder.cc:1131: // TODO(mstarzinger): For ObjectLiteral::Property::PROTOTYPE the key should In the ...
5 years, 10 months ago (2015-02-13 15:15:57 UTC) #8
Michael Starzinger
5 years, 10 months ago (2015-02-16 10:39:15 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/860033002/diff/20001/src/compiler/ast-graph-b...
File src/compiler/ast-graph-builder.cc (right):

https://codereview.chromium.org/860033002/diff/20001/src/compiler/ast-graph-b...
src/compiler/ast-graph-builder.cc:1131: // TODO(mstarzinger): For
ObjectLiteral::Property::PROTOTYPE the key should
On 2015/02/13 15:15:57, arv wrote:
> In the case of the property being `__proto__: expr` then we know the property
> key is not computed. We therefore do not need to execute it. However, in that
> case, property->key() is a string literal so no harm is done, just unnecessary
> computations.

The TODO is not about evaluating the "key" being observable. It is about a deopt
that could be potentially caused by evaluating the "value". In this case the
simulated operand stack in the environment needs to match up with full-codegen
exactly. If it doesn't then the deoptimizer will materialize a stack-frame on
which full-codegen will choke. AFAICT, this is the case here, so the TODO is
still accurate IMHO.

Powered by Google App Engine
This is Rietveld 408576698