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

Issue 1124003007: In the new task model, use explicit dependencies on the type provider. (Closed)

Created:
5 years, 7 months ago by Paul Berry
Modified:
5 years, 7 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

In the new task model, use explicit dependencies on the type provider. Previously, some of the tasks got the type provider from the context, which meant we were at risk of invoking the task manager reentrantly (which might have broken some task manager assumptions and potentially degraded responsiveness). With this CL, all tasks that need the type provider get it using an explicit input. Assertions are added so that if we accidentally introduce future code paths that invoke the task manager in a reentrant fashion, we will see the problem during unit tests. R=brianwilkerson@google.com, scheglov@google.com Committed: https://code.google.com/p/dart/source/detail?r=45794

Patch Set 1 #

Patch Set 2 : Reformat #

Total comments: 5

Patch Set 3 : Alternate location for isTaskRunning flag #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+150 lines, -76 lines) Patch
M pkg/analyzer/lib/src/context/context.dart View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/analyzer/lib/src/task/dart.dart View 1 2 21 chunks +63 lines, -16 lines 0 comments Download
M pkg/analyzer/lib/src/task/driver.dart View 1 2 4 chunks +82 lines, -60 lines 8 comments Download
M pkg/analyzer/test/src/task/dart_test.dart View 1 2 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (1 generated)
Paul Berry
https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/driver.dart File pkg/analyzer/lib/src/task/driver.dart (right): https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/driver.dart#newcode210 pkg/analyzer/lib/src/task/driver.dart:210: try { Note: it's not obvious from the diff, ...
5 years, 7 months ago (2015-05-13 21:32:00 UTC) #2
Brian Wilkerson
LGTM
5 years, 7 months ago (2015-05-13 21:49:08 UTC) #3
scheglov
lgtm https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart File pkg/analyzer/lib/src/task/manager.dart (right): https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart#newcode40 pkg/analyzer/lib/src/task/manager.dart:40: bool isTaskRunning = false; I'm not sure that ...
5 years, 7 months ago (2015-05-13 21:49:10 UTC) #4
Paul Berry
https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart File pkg/analyzer/lib/src/task/manager.dart (right): https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart#newcode40 pkg/analyzer/lib/src/task/manager.dart:40: bool isTaskRunning = false; On 2015/05/13 21:49:09, scheglov wrote: ...
5 years, 7 months ago (2015-05-14 17:11:01 UTC) #5
scheglov
https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart File pkg/analyzer/lib/src/task/manager.dart (right): https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart#newcode40 pkg/analyzer/lib/src/task/manager.dart:40: bool isTaskRunning = false; On 2015/05/14 17:11:01, Paul Berry ...
5 years, 7 months ago (2015-05-14 17:13:04 UTC) #6
Paul Berry
https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart File pkg/analyzer/lib/src/task/manager.dart (right): https://codereview.chromium.org/1124003007/diff/20001/pkg/analyzer/lib/src/task/manager.dart#newcode40 pkg/analyzer/lib/src/task/manager.dart:40: bool isTaskRunning = false; On 2015/05/14 17:13:04, scheglov wrote: ...
5 years, 7 months ago (2015-05-14 17:27:33 UTC) #7
Brian Wilkerson
LGTM https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart File pkg/analyzer/lib/src/task/driver.dart (right): https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart#newcode220 pkg/analyzer/lib/src/task/driver.dart:220: assert(!isTaskRunning); This should be before the 'try' so ...
5 years, 7 months ago (2015-05-14 17:36:38 UTC) #8
scheglov
https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart File pkg/analyzer/lib/src/task/driver.dart (right): https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart#newcode383 pkg/analyzer/lib/src/task/driver.dart:383: assert(!driver.isTaskRunning); Do we need to check it here? AFAIK ...
5 years, 7 months ago (2015-05-14 17:44:05 UTC) #9
Paul Berry
https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart File pkg/analyzer/lib/src/task/driver.dart (right): https://codereview.chromium.org/1124003007/diff/40001/pkg/analyzer/lib/src/task/driver.dart#newcode220 pkg/analyzer/lib/src/task/driver.dart:220: assert(!isTaskRunning); On 2015/05/14 17:36:37, Brian Wilkerson wrote: > This ...
5 years, 7 months ago (2015-05-14 19:40:43 UTC) #10
Paul Berry
5 years, 7 months ago (2015-05-14 19:49:43 UTC) #11
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as 45794 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698