| 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
|
| deleted file mode 100644
|
| index c68a4ff40932856eb5975b505ae45eef0e534e39..0000000000000000000000000000000000000000
|
| --- a/runtime/vm/flow_graph_type_propagator.h
|
| +++ /dev/null
|
| @@ -1,77 +0,0 @@
|
| -// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -#ifndef VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
|
| -#define VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
|
| -
|
| -#include "vm/flow_graph.h"
|
| -#include "vm/intermediate_language.h"
|
| -
|
| -namespace dart {
|
| -
|
| -class FlowGraphTypePropagator : public FlowGraphVisitor {
|
| - public:
|
| - explicit FlowGraphTypePropagator(FlowGraph* flow_graph);
|
| -
|
| - void Propagate();
|
| -
|
| - private:
|
| - void PropagateRecursive(BlockEntryInstr* block);
|
| -
|
| - void VisitValue(Value* value);
|
| -
|
| - virtual void VisitJoinEntry(JoinEntryInstr* instr);
|
| - virtual void VisitCheckSmi(CheckSmiInstr* instr);
|
| - virtual void VisitCheckClass(CheckClassInstr* instr);
|
| -
|
| - // Current reaching type of the definition. Valid only during dominator tree
|
| - // traversal.
|
| - CompileType* TypeOf(Definition* def);
|
| -
|
| - // Mark definition as having given compile type in all dominated instructions.
|
| - void SetTypeOf(Definition* def, CompileType* type);
|
| -
|
| - // Mark definition as having given class id in all dominated instructions.
|
| - void SetCid(Definition* value, intptr_t cid);
|
| -
|
| - void AddToWorklist(Definition* defn);
|
| - Definition* RemoveLastFromWorklist();
|
| -
|
| - FlowGraph* flow_graph_;
|
| -
|
| - // Mapping between SSA values and their current reaching types. Valid
|
| - // only during dominator tree traversal.
|
| - GrowableArray<CompileType*> types_;
|
| -
|
| - // Worklist for fixpoint computation.
|
| - GrowableArray<Definition*> worklist_;
|
| - BitVector* in_worklist_;
|
| -
|
| - // RollbackEntry is used to track and rollback changed in the types_ array
|
| - // done during dominator tree traversal.
|
| - struct RollbackEntry {
|
| - public:
|
| - // Default constructor needed for the container.
|
| - RollbackEntry()
|
| - : index_(), type_() {
|
| - }
|
| -
|
| - RollbackEntry(intptr_t index, CompileType* type)
|
| - : index_(index), type_(type) {
|
| - }
|
| -
|
| - intptr_t index() const { return index_; }
|
| - CompileType* type() const { return type_; }
|
| -
|
| - private:
|
| - intptr_t index_;
|
| - CompileType* type_;
|
| - };
|
| -
|
| - GrowableArray<RollbackEntry> rollback_;
|
| -};
|
| -
|
| -} // namespace dart
|
| -
|
| -#endif // VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
|
|
|