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

Issue 1931003003: Fix 'eval' in class extends clauses to be always-strict (Closed)

Created:
4 years, 7 months ago by adamk
Modified:
4 years, 7 months ago
CC:
Benedikt Meurer, oth, rmcilroy, rossberg, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Fix 'eval' in class extends clauses to be always-strict Compiler backends get their language mode from the current function, but should instead be deriving it from the current scope. This allows proper handling of the always-strictness of class declarations and expressions, and in particular the treatment of 'eval' calls in an extends clause as a strict eval. Also fix the parser's RecordEvalCall logic to only reach out to the DeclarationScope in sloppy mode, which fixes the strange case of a sloppy function thinking it contains a sloppy eval when in fact it contains only a strict eval. BUG=v8:4970 LOG=n Committed: https://crrev.com/c8a342a5825a835556e0ae26f8a1295b80d02489 Cr-Commit-Position: refs/heads/master@{#36001}

Patch Set 1 #

Patch Set 2 : Add test #

Patch Set 3 : Change test to match report, and check for strictness #

Patch Set 4 : Rebased #

Patch Set 5 : Add 4974 fix #

Patch Set 6 : Remove unrelated test case #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -8 lines) Patch
M src/compiler/ast-graph-builder.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/full-codegen.h View 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/parsing/parser-base.h View 1 2 3 4 1 chunk +5 lines, -1 line 0 comments Download
A + test/mjsunit/regress/regress-4970.js View 1 2 1 chunk +9 lines, -4 lines 0 comments Download

Messages

Total messages: 25 (12 generated)
adamk
It didn't appear to me that Crankshaft was affected by this change (it already explicitly ...
4 years, 7 months ago (2016-04-28 21:48:46 UTC) #2
adamk
Added a fix for a very related bug to this patch.
4 years, 7 months ago (2016-04-29 22:55:05 UTC) #6
adamk
On 2016/04/29 22:55:05, adamk wrote: > Added a fix for a very related bug to ...
4 years, 7 months ago (2016-05-02 17:23:59 UTC) #7
adamk
On 2016/05/02 17:23:59, adamk wrote: > On 2016/04/29 22:55:05, adamk wrote: > > Added a ...
4 years, 7 months ago (2016-05-02 18:52:57 UTC) #8
adamk
On 2016/05/02 18:52:57, adamk wrote: > On 2016/05/02 17:23:59, adamk wrote: > > On 2016/04/29 ...
4 years, 7 months ago (2016-05-02 19:28:33 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1931003003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1931003003/100001
4 years, 7 months ago (2016-05-02 19:30:02 UTC) #12
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-02 20:01:09 UTC) #14
Michael Starzinger
LGTM on the compilers.
4 years, 7 months ago (2016-05-03 07:44:06 UTC) #16
adamk
+littledan for parser
4 years, 7 months ago (2016-05-03 18:08:30 UTC) #18
Dan Ehrenberg
lgtm
4 years, 7 months ago (2016-05-03 21:09:05 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1931003003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1931003003/100001
4 years, 7 months ago (2016-05-03 22:00:12 UTC) #21
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 7 months ago (2016-05-03 22:35:44 UTC) #23
commit-bot: I haz the power
4 years, 7 months ago (2016-05-03 22:36:40 UTC) #25
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/c8a342a5825a835556e0ae26f8a1295b80d02489
Cr-Commit-Position: refs/heads/master@{#36001}

Powered by Google App Engine
This is Rietveld 408576698