5#ifndef RUNTIME_VM_COMPILER_BACKEND_TYPE_PROPAGATOR_H_
6#define RUNTIME_VM_COMPILER_BACKEND_TYPE_PROPAGATOR_H_
8#if defined(DART_PRECOMPILED_RUNTIME)
9#error "AOT runtime should not use compiler sources (including header files)"
28 void RollbackTo(intptr_t rollback_point);
62 void GrowTypes(intptr_t up_to);
77 Zone* zone()
const {
return flow_graph_->
zone(); }
100 RollbackEntry() : index_(), type_() {}
103 : index_(index), type_(
type) {}
105 intptr_t index()
const {
return index_; }
static float prev(float f)
#define check(reporter, ref, unref, make, kill)
virtual void VisitPolymorphicInstanceCall(PolymorphicInstanceCallInstr *instr)
virtual void VisitAssertBoolean(AssertBooleanInstr *instr)
virtual void VisitCheckClassId(CheckClassIdInstr *instr)
virtual void VisitCheckNull(CheckNullInstr *instr)
virtual void VisitCheckSmi(CheckSmiInstr *instr)
static void Propagate(FlowGraph *flow_graph)
virtual void VisitAssertSubtype(AssertSubtypeInstr *instr)
virtual void VisitAssertAssignable(AssertAssignableInstr *instr)
virtual void VisitJoinEntry(JoinEntryInstr *instr)
virtual void VisitGuardFieldClass(GuardFieldClassInstr *instr)
virtual void VisitInstanceCall(InstanceCallInstr *instr)
virtual void VisitCheckArrayBound(CheckArrayBoundInstr *instr)
virtual void VisitBranch(BranchInstr *instr)
virtual void VisitCheckClass(CheckClassInstr *instr)
const char *const function_name