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

Issue 2487483004: Only treat possible eval calls going through 'with' as special. (Closed)

Created:
4 years, 1 month ago by rmcilroy
Modified:
4 years, 1 month ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Only treat possible eval calls going through 'with' as special. This removes the POSSIBLY_EVAL_CALL call type, and instead uses OTHER_CALL or WITH_CALL to decide whether to do the special LOOKUP_SLOT_CALL runtime call to find the callee and possibly update the receiver with the with-object. This means that eval calls out of 'with' blocks can now just do a normal LdaLookupGlobalSlot operation, which can check the context chain for eval extentions and fast-path the lookup if none exist. BUG=661556 Committed: https://crrev.com/be9b820c4405e3feb1bcc60f5bf257c574da76c9 Cr-Commit-Position: refs/heads/master@{#40965}

Patch Set 1 #

Patch Set 2 : Fix AstGraphBuilder #

Total comments: 3

Patch Set 3 : Remove POSSIBLY_EVAL_CALL #

Patch Set 4 : Rebase #

Patch Set 5 : Rebase expectations #

Patch Set 6 : Fix ast-graph-builder #

Total comments: 2

Patch Set 7 : Address comments #

Patch Set 8 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+204 lines, -201 lines) Patch
M src/ast/ast.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M src/ast/ast.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -3 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 6 7 5 chunks +109 lines, -105 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 1 chunk +41 lines, -40 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 2 chunks +17 lines, -23 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden View 1 2 3 4 5 6 7 2 chunks +5 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ContextVariables.golden View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Eval.golden View 1 2 3 4 2 chunks +5 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/LookupSlot.golden View 1 2 3 4 10 chunks +25 lines, -20 lines 0 comments Download

Messages

Total messages: 61 (44 generated)
rmcilroy
This builds on Toon's CL in https://codereview.chromium.org/2480253006 to do the same treatment for eval. With ...
4 years, 1 month ago (2016-11-08 17:24:47 UTC) #7
rmcilroy
This builds on Toon's CL in https://codereview.chromium.org/2480253006 to do the same treatment for eval. With ...
4 years, 1 month ago (2016-11-08 17:26:04 UTC) #11
rmcilroy
On 2016/11/08 17:26:04, rmcilroy wrote: > This builds on Toon's CL in https://codereview.chromium.org/2480253006 to do ...
4 years, 1 month ago (2016-11-08 17:57:55 UTC) #14
rmcilroy
OK fixed things (I had made a change in ast-graph-builder without the same change in ...
4 years, 1 month ago (2016-11-09 10:30:44 UTC) #17
Toon Verwaest
I actually think it would be cleaner to get rid of POSSIBLY_EVAL_CALL altogether, and check ...
4 years, 1 month ago (2016-11-09 14:13:09 UTC) #20
rmcilroy
> I actually think it would be cleaner to get rid of POSSIBLY_EVAL_CALL > altogether, ...
4 years, 1 month ago (2016-11-09 17:02:29 UTC) #21
Toon Verwaest
Ok, I'm fine with landing it this way given that FCG w/ POSSIBLY_EVAL_CALL is still ...
4 years, 1 month ago (2016-11-10 09:40:19 UTC) #22
rmcilroy
> https://codereview.chromium.org/2487483004/diff/40001/src/full-codegen/full-codegen.cc#newcode1672 > src/full-codegen/full-codegen.cc:1672: case > Call::POSSIBLY_EVAL_THROUGH_WITH_CALL: > On 2016/11/09 17:02:29, rmcilroy wrote: > > ...
4 years, 1 month ago (2016-11-10 10:08:53 UTC) #23
rmcilroy
On 2016/11/10 10:08:53, rmcilroy wrote: > > > https://codereview.chromium.org/2487483004/diff/40001/src/full-codegen/full-codegen.cc#newcode1672 > > src/full-codegen/full-codegen.cc:1672: case > > ...
4 years, 1 month ago (2016-11-10 11:52:35 UTC) #24
Toon Verwaest
oh I see, that makes sense. lgtm then :)
4 years, 1 month ago (2016-11-10 12:04:32 UTC) #25
Michael Starzinger
LGTM from my end. I agree, the code in ast-graph-builder is getting a bit more ...
4 years, 1 month ago (2016-11-10 15:10:22 UTC) #47
rmcilroy
https://codereview.chromium.org/2487483004/diff/140001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/2487483004/diff/140001/src/compiler/ast-graph-builder.cc#newcode2408 src/compiler/ast-graph-builder.cc:2408: // Fall through. On 2016/11/10 15:10:22, Michael Starzinger wrote: ...
4 years, 1 month ago (2016-11-10 15:16:47 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2487483004/160001
4 years, 1 month ago (2016-11-14 12:24:31 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_nodcheck_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel_ng/builds/11947) v8_linux_rel_ng on master.tryserver.v8 (JOB_FAILED, ...
4 years, 1 month ago (2016-11-14 12:25:40 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2487483004/180001
4 years, 1 month ago (2016-11-14 13:06:07 UTC) #57
commit-bot: I haz the power
Committed patchset #8 (id:180001)
4 years, 1 month ago (2016-11-14 13:34:33 UTC) #59
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:32:38 UTC) #61
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/be9b820c4405e3feb1bcc60f5bf257c574da76c9
Cr-Commit-Position: refs/heads/master@{#40965}

Powered by Google App Engine
This is Rietveld 408576698