DescriptionFix handling of task model circularities.
When a circularity is found during task model evaluation, we need to
continue evaluating task inputs (skipping the inputs that contribute
to the circularity) in order to find the largest possible strongly
connected component that contributes to the circularity. Previously,
the skipping logic was implemented by comparing WorkItem.target and
WorkItem.spawningResult. However, since WorkItems are equality
compared using WorkItem.target and WorkItem.descriptor, it was
possible that a WorkItem might not have been skipped when it should
be.
This CL updates the skipping logic so that it uses WorkItem.target and
WorkItem.descriptor to decide which WorkItems to skip.
R=brianwilkerson@google.com
Committed: https://github.com/dart-lang/sdk/commit/457df30acf0b000efa884756ba8c0151740ce420
Patch Set 1 #Patch Set 2 : Clarify the purpose of an assertion. #Patch Set 3 : Typo fix #Messages
Total messages: 6 (2 generated)
|