Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::Scheduler Class Reference

Public Member Functions

 Scheduler (FlowGraph *flow_graph)
 
void Start ()
 
template<typename T >
TEmit (T *instruction, Instruction *post_dominator)
 
void Rollback ()
 

Detailed Description

Definition at line 614 of file range_analysis.cc.

Constructor & Destructor Documentation

◆ Scheduler()

dart::Scheduler::Scheduler ( FlowGraph flow_graph)
inlineexplicit

Definition at line 616 of file range_analysis.cc.

617 : flow_graph_(flow_graph),
618 loop_headers_(flow_graph->GetLoopHierarchy().headers()),
619 pre_headers_(loop_headers_.length()) {
620 for (intptr_t i = 0; i < loop_headers_.length(); i++) {
621 pre_headers_.Add(loop_headers_[i]->ImmediateDominator());
622 }
623 }

Member Function Documentation

◆ Emit()

template<typename T >
T * dart::Scheduler::Emit ( T instruction,
Instruction post_dominator 
)
inline

Definition at line 636 of file range_analysis.cc.

636 {
637 return static_cast<T*>(EmitRecursively(instruction, post_dominator));
638 }
#define T
Definition: precompiler.cc:65

◆ Rollback()

void dart::Scheduler::Rollback ( )
inline

Definition at line 641 of file range_analysis.cc.

641 {
642 for (intptr_t i = emitted_.length() - 1; i >= 0; i--) {
643 emitted_[i]->RemoveFromGraph();
644 }
645 emitted_.Clear();
646 }

◆ Start()

void dart::Scheduler::Start ( )
inline

Definition at line 626 of file range_analysis.cc.

626{ emitted_.Clear(); }

The documentation for this class was generated from the following file: