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

Issue 2280933002: Always deserialize scope infos for parsing (Closed)

Created:
4 years, 3 months ago by jochen (gone - plz use gerrit)
Modified:
4 years, 3 months ago
Reviewers:
adamk, Toon Verwaest, marja
CC:
Hannes Payer (out of office), ulan, v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Always deserialize scope infos for parsing When looking up variables in the ScopeInfo, we did a linear scan of the ScopeInfo. Since that's unacceptably slow, a context slot cache was added that would speed up repeated lookups of the same variable. Instead, just always fully convert the ScopeInfo into scopes, so they can lookup variables without scanning the ScopeInfo. This also allows for removing the now unused ContextSlotCache. R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org BUG=v8:5315 Committed: https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0 Cr-Commit-Position: refs/heads/master@{#38953}

Patch Set 1 #

Patch Set 2 : updates #

Patch Set 3 : updates #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10 lines, -316 lines) Patch
M BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
D src/ast/context-slot-cache.h View 1 chunk +0 lines, -113 lines 0 comments Download
D src/ast/context-slot-cache.cc View 1 chunk +0 lines, -91 lines 0 comments Download
M src/ast/scopeinfo.cc View 3 chunks +1 line, -17 lines 0 comments Download
M src/ast/scopes.h View 1 1 chunk +1 line, -5 lines 0 comments Download
M src/ast/scopes.cc View 1 2 4 chunks +8 lines, -71 lines 0 comments Download
M src/heap/heap.cc View 3 chunks +0 lines, -5 lines 0 comments Download
M src/isolate.h View 2 chunks +0 lines, -5 lines 0 comments Download
M src/isolate.cc View 4 chunks +0 lines, -5 lines 0 comments Download
M src/v8.gyp View 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 30 (14 generated)
jochen (gone - plz use gerrit)
4 years, 3 months ago (2016-08-26 11:20:36 UTC) #1
Toon Verwaest
lgtm if performance is ok
4 years, 3 months ago (2016-08-26 12:00:17 UTC) #6
Toon Verwaest
lgtm if performance is ok
4 years, 3 months ago (2016-08-26 12:00:17 UTC) #7
Toon Verwaest
Shouldn't you update LookupLocal to not check the scopeinfo anymore?
4 years, 3 months ago (2016-08-26 12:01:14 UTC) #8
Toon Verwaest
Shouldn't you update LookupLocal to not check the scopeinfo anymore?
4 years, 3 months ago (2016-08-26 12:01:15 UTC) #9
jochen (gone - plz use gerrit)
delete moar code... ptal
4 years, 3 months ago (2016-08-26 14:17:02 UTC) #12
Toon Verwaest
lgtm
4 years, 3 months ago (2016-08-26 14:41:36 UTC) #15
adamk
Can you add some more background to the CL description (and/or a tracking bug)? I'm ...
4 years, 3 months ago (2016-08-26 17:14:27 UTC) #18
jochen (gone - plz use gerrit)
ptal
4 years, 3 months ago (2016-08-26 17:19:26 UTC) #20
adamk
Code lgtm, but I want to make sure we keep our ears open for perf ...
4 years, 3 months ago (2016-08-26 17:32:34 UTC) #21
jochen (gone - plz use gerrit)
filed a tracking bug to make it easier to handle regressions should there be any
4 years, 3 months ago (2016-08-26 17:37:26 UTC) #23
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/2280933002/40001
4 years, 3 months ago (2016-08-26 17:37:51 UTC) #25
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 3 months ago (2016-08-26 17:39:31 UTC) #26
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0 Cr-Commit-Position: refs/heads/master@{#38953}
4 years, 3 months ago (2016-08-26 17:40:01 UTC) #28
Toon Verwaest
This tanks codeload by 7%, RuntimeCallStats-compile by 7% and parse by ~50%. I guess we ...
4 years, 3 months ago (2016-08-26 20:36:39 UTC) #29
Toon Verwaest
4 years, 3 months ago (2016-08-27 07:08:10 UTC) #30
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in
https://codereview.chromium.org/2287783003/ by verwaest@chromium.org.

The reason for reverting is: Significantly tanks parsing. We probably should
just keep on doing what we're doing: partially deserialize while resolving
variables. If we do scope-info backed resolution after regular resolution based
on remaining free variables, we can probably reduce the time-frame of that part.
We soon after anyway need to sync with the main thread..

Powered by Google App Engine
This is Rietveld 408576698