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

Issue 1146063006: Fix arrow functions requiring context without slots. (Closed)

Created:
5 years, 6 months ago by Michael Starzinger
Modified:
5 years, 6 months ago
Reviewers:
wingo, rossberg
CC:
v8-dev, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Fix arrow functions requiring context without slots. This fixes a corner-case where arrow functions that require a context allocate none, because there are no additional slots allocated. Note that this didn't happen with true function scopes because they always had at least the receiver slot. The outcome was a context chain that no longer was in sync with the scope chain, hence context slot loads were bogus. This is observable using the DYNAMIC_LOCAL optimization in all compilers. R=rossberg@chromium.org,wingo@igalia.com TEST=mjsunit/harmony/regress/regress-4160 BUG=v8:4160 LOG=N Committed: https://crrev.com/68beef53c36d8640b453da4169548cbbd61c91a9 Cr-Commit-Position: refs/heads/master@{#28788}

Patch Set 1 #

Patch Set 2 : Added one more test. #

Patch Set 3 : Cleanup test case. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+63 lines, -35 lines) Patch
M src/arm/full-codegen-arm.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/code-stubs.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/mips64/full-codegen-mips64.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/ppc/full-codegen-ppc.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/x87/full-codegen-x87.cc View 1 chunk +4 lines, -4 lines 0 comments Download
A test/mjsunit/harmony/regress/regress-4160.js View 1 2 1 chunk +29 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (2 generated)
Michael Starzinger
5 years, 6 months ago (2015-06-02 17:32:36 UTC) #1
rossberg
Does this also work correctly if the (direct, sloppy) eval contains a 'var' declaration? () ...
5 years, 6 months ago (2015-06-03 06:28:44 UTC) #2
Michael Starzinger
On 2015/06/03 06:28:44, rossberg wrote: > Does this also work correctly if the (direct, sloppy) ...
5 years, 6 months ago (2015-06-03 07:54:53 UTC) #3
rossberg
On 2015/06/03 07:54:53, Michael Starzinger wrote: > On 2015/06/03 06:28:44, rossberg wrote: > > Does ...
5 years, 6 months ago (2015-06-03 08:03:04 UTC) #4
Michael Starzinger
On 2015/06/03 08:03:04, rossberg wrote: > On 2015/06/03 07:54:53, Michael Starzinger wrote: > > On ...
5 years, 6 months ago (2015-06-03 08:26:06 UTC) #5
rossberg
On 2015/06/03 08:26:06, Michael Starzinger wrote: > On 2015/06/03 08:03:04, rossberg wrote: > > On ...
5 years, 6 months ago (2015-06-03 10:48:07 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1146063006/40001
5 years, 6 months ago (2015-06-03 11:00:38 UTC) #9
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 6 months ago (2015-06-03 11:32:32 UTC) #10
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/68beef53c36d8640b453da4169548cbbd61c91a9 Cr-Commit-Position: refs/heads/master@{#28788}
5 years, 6 months ago (2015-06-03 11:32:38 UTC) #11
wingo
5 years, 6 months ago (2015-06-08 15:13:47 UTC) #12
Message was sent while issue was closed.
Late LGTM also.  Thank you Michael!

Powered by Google App Engine
This is Rietveld 408576698