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

Issue 2890593002: [ES6 modules] UninstantiatedInclusiveDescendants: skip recursion for instantiated sub-trees.

Created:
3 years, 7 months ago by kouhei (in TOK)
Modified:
3 years, 7 months ago
Reviewers:
hiroshige, module-dev, domenic, neis
CC:
chromium-reviews, blink-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[ES6 modules] UninstantiatedInclusiveDescendants: skip recursion for instantiated sub-trees. Before this CL, UninstantiatedInclusiveDescendants enumerated all descendants of the given module, even for instantiated sub trees. This CL speeds up computation of UninstantiatedInclusiveDescendants by skipping instantiated sub trees, where we can guarantee that all its descendants state are already "instantiated", and would never end up in the "uninstantiated descendants set". BUG=594639, 722728

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -0 lines) Patch
M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp View 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (5 generated)
kouhei (in TOK)
3 years, 7 months ago (2017-05-16 20:04:23 UTC) #2
neis
I doubt this change is correct. It looks to me like you're short-cutting the very ...
3 years, 7 months ago (2017-05-17 09:41:13 UTC) #7
kouhei (in TOK)
On 2017/05/17 09:41:13, neis wrote: > I doubt this change is correct. It looks to ...
3 years, 7 months ago (2017-05-17 23:40:08 UTC) #8
blink-reviews
I believe this part of the algorithm will simply disappear with the upcoming specification changes, ...
3 years, 7 months ago (2017-05-18 13:13:38 UTC) #9
chromium-reviews
3 years, 7 months ago (2017-05-18 13:13:38 UTC) #10
I believe this part of the algorithm will simply disappear with the
upcoming specification changes, so maybe it's best to wait for that.

On Thu, May 18, 2017 at 1:40 AM,  <kouhei@chromium.org> wrote:
> On 2017/05/17 09:41:13, neis wrote:
>> I doubt this change is correct. It looks to me like you're short-cutting
>> the
>> very code that is responsible for
>> establishing the invariant in the first place.
>
> While I agree that this change is scary, we do need to cut down the number
> of
> module graph nodes we visit while instantiate, otherwise we are stuck at
> O(n^2).
> If you could help me with a failure case and/or alternate optimization, I'd
> really appreciate it.
>
> https://codereview.chromium.org/2890593002/

-- 
You received this message because you are subscribed to the Google Groups
"Chromium-reviews" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698