Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dart::FlowGraphVisitor Class Reference

#include <il.h>

Inheritance diagram for dart::FlowGraphVisitor:
dart::InstructionVisitor dart::ValueObject dart::CallSpecializer dart::ConstantPropagator dart::FlowGraphTypePropagator dart::TypedDataSpecializer dart::AotCallSpecializer dart::JitCallSpecializer

Public Member Functions

 FlowGraphVisitor (const GrowableArray< BlockEntryInstr * > &block_order)
 
virtual ~FlowGraphVisitor ()
 
ForwardInstructionIteratorcurrent_iterator () const
 
virtual void VisitBlocks ()
 
- Public Member Functions inherited from dart::InstructionVisitor
 InstructionVisitor ()
 
virtual ~InstructionVisitor ()
 
- Public Member Functions inherited from dart::ValueObject
 ValueObject ()
 
 ~ValueObject ()
 

Protected Member Functions

void set_block_order (const GrowableArray< BlockEntryInstr * > &block_order)
 

Protected Attributes

ForwardInstructionIteratorcurrent_iterator_
 

Detailed Description

Definition at line 11786 of file il.h.

Constructor & Destructor Documentation

◆ FlowGraphVisitor()

dart::FlowGraphVisitor::FlowGraphVisitor ( const GrowableArray< BlockEntryInstr * > &  block_order)
inlineexplicit

Definition at line 11788 of file il.h.

11789 : current_iterator_(nullptr), block_order_(&block_order) {}
ForwardInstructionIterator * current_iterator_
Definition il.h:11805

◆ ~FlowGraphVisitor()

virtual dart::FlowGraphVisitor::~FlowGraphVisitor ( )
inlinevirtual

Definition at line 11790 of file il.h.

11790{}

Member Function Documentation

◆ current_iterator()

ForwardInstructionIterator * dart::FlowGraphVisitor::current_iterator ( ) const
inline

Definition at line 11792 of file il.h.

11792 {
11793 return current_iterator_;
11794 }

◆ set_block_order()

void dart::FlowGraphVisitor::set_block_order ( const GrowableArray< BlockEntryInstr * > &  block_order)
inlineprotected

Definition at line 11801 of file il.h.

11801 {
11802 block_order_ = &block_order;
11803 }

◆ VisitBlocks()

void dart::FlowGraphVisitor::VisitBlocks ( )
virtual

Reimplemented in dart::ConstantPropagator.

Definition at line 1374 of file il.cc.

1374 {
1375 ASSERT(current_iterator_ == nullptr);
1376 for (intptr_t i = 0; i < block_order_->length(); ++i) {
1377 BlockEntryInstr* entry = (*block_order_)[i];
1378 entry->Accept(this);
1379 ForwardInstructionIterator it(entry);
1380 current_iterator_ = &it;
1381 for (; !it.Done(); it.Advance()) {
1382 it.Current()->Accept(this);
1383 }
1384 current_iterator_ = nullptr;
1385 }
1386}
Instruction * Current() const
Definition il.h:1847
virtual void Accept(InstructionVisitor *visitor)=0
#define ASSERT(E)

Member Data Documentation

◆ current_iterator_

ForwardInstructionIterator* dart::FlowGraphVisitor::current_iterator_
protected

Definition at line 11805 of file il.h.


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