| Index: runtime/vm/flow_graph_type_propagator.h
|
| diff --git a/runtime/vm/flow_graph_type_propagator.h b/runtime/vm/flow_graph_type_propagator.h
|
| index fafd1b62f26db032a27a5ad8b23f88ae0aa49720..f01dc5f2dd6af2a3e3dcdb9cddf85792749c8602 100644
|
| --- a/runtime/vm/flow_graph_type_propagator.h
|
| +++ b/runtime/vm/flow_graph_type_propagator.h
|
| @@ -38,6 +38,10 @@ class FlowGraphTypePropagator : public FlowGraphVisitor {
|
| void AddToWorklist(Definition* defn);
|
| Definition* RemoveLastFromWorklist();
|
|
|
| + // Type assertion strengthening.
|
| + void StrengthenAsserts(BlockEntryInstr* block);
|
| + void StrengthenAssertWith(Instruction* check);
|
| +
|
| FlowGraph* flow_graph_;
|
|
|
| // Mapping between SSA values and their current reaching types. Valid
|
| @@ -48,6 +52,9 @@ class FlowGraphTypePropagator : public FlowGraphVisitor {
|
| GrowableArray<Definition*> worklist_;
|
| BitVector* in_worklist_;
|
|
|
| + ZoneGrowableArray<AssertAssignableInstr*>* asserts_;
|
| + ZoneGrowableArray<intptr_t>* collected_asserts_;
|
| +
|
| // RollbackEntry is used to track and rollback changed in the types_ array
|
| // done during dominator tree traversal.
|
| class RollbackEntry {
|
|
|