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

Issue 1405963005: Create `loadLibrary` function element eagerly. (Closed)

Created:
5 years, 2 months ago by Paul Berry
Modified:
5 years, 2 months ago
Reviewers:
Brian Wilkerson
CC:
reviews_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Create `loadLibrary` function element eagerly. Previously we created this element lazily (when requested) but this didn't work well with the new task model, because creating the element required calling back into the context and requesting full analysis of `dart:async` (in order to get access to the Future type), and this could lead to reentrant task execution. Now we explicitly create the element in ResolveLibraryTypeNamesTask, which allows us to get the Future type from the TypeProvider, avoiding reentrancy. Fixes #24627. R=brianwilkerson@google.com Committed: https://github.com/dart-lang/sdk/commit/f145f89ccb4b807641914a0631e9c77995a29b20

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+38 lines, -44 lines) Patch
M pkg/analyzer/lib/src/context/context.dart View 1 chunk +1 line, -0 lines 2 comments Download
M pkg/analyzer/lib/src/generated/element.dart View 2 chunks +15 lines, -43 lines 0 comments Download
M pkg/analyzer/lib/src/generated/resolver.dart View 2 chunks +2 lines, -0 lines 0 comments Download
M pkg/analyzer/lib/src/task/dart.dart View 3 chunks +18 lines, -1 line 0 comments Download
M pkg/analyzer/test/src/task/dart_test.dart View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/analyzer/tool/task_dependency_graph/tasks.dot View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
Paul Berry
5 years, 2 months ago (2015-10-19 20:06:42 UTC) #2
Brian Wilkerson
LGTM https://codereview.chromium.org/1405963005/diff/1/pkg/analyzer/lib/src/context/context.dart File pkg/analyzer/lib/src/context/context.dart (right): https://codereview.chromium.org/1405963005/diff/1/pkg/analyzer/lib/src/context/context.dart#newcode634 pkg/analyzer/lib/src/context/context.dart:634: assert(!driver.isTaskRunning); Do we want to add this, or ...
5 years, 2 months ago (2015-10-19 20:15:19 UTC) #3
Paul Berry
https://codereview.chromium.org/1405963005/diff/1/pkg/analyzer/lib/src/context/context.dart File pkg/analyzer/lib/src/context/context.dart (right): https://codereview.chromium.org/1405963005/diff/1/pkg/analyzer/lib/src/context/context.dart#newcode634 pkg/analyzer/lib/src/context/context.dart:634: assert(!driver.isTaskRunning); On 2015/10/19 20:15:19, Brian Wilkerson wrote: > Do ...
5 years, 2 months ago (2015-10-19 20:31:30 UTC) #4
Paul Berry
5 years, 2 months ago (2015-10-19 20:34:24 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
f145f89ccb4b807641914a0631e9c77995a29b20 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698