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

#include <flow_graph.h>

Inheritance diagram for dart::DefinitionWorklist:
dart::ValueObject

Public Member Functions

 DefinitionWorklist (FlowGraph *flow_graph, intptr_t initial_capacity)
 
void Add (Definition *defn)
 
bool Contains (Definition *defn) const
 
bool IsEmpty () const
 
DefinitionRemoveLast ()
 
const GrowableArray< Definition * > & definitions () const
 
BitVectorcontains_vector () const
 
void Clear ()
 
- Public Member Functions inherited from dart::ValueObject
 ValueObject ()
 
 ~ValueObject ()
 

Detailed Description

Definition at line 824 of file flow_graph.h.

Constructor & Destructor Documentation

◆ DefinitionWorklist()

dart::DefinitionWorklist::DefinitionWorklist ( FlowGraph flow_graph,
intptr_t  initial_capacity 
)
inline

Definition at line 826 of file flow_graph.h.

827 : defs_(initial_capacity),
828 contains_vector_(new BitVector(flow_graph->zone(),
829 flow_graph->current_ssa_temp_index())) {}

Member Function Documentation

◆ Add()

void dart::DefinitionWorklist::Add ( Definition defn)
inline

Definition at line 831 of file flow_graph.h.

831 {
832 if (!Contains(defn)) {
833 defs_.Add(defn);
834 contains_vector_->Add(defn->ssa_temp_index());
835 }
836 }
void Add(intptr_t i)
Definition bit_vector.h:63
bool Contains(Definition *defn) const
Definition flow_graph.h:838

◆ Clear()

void dart::DefinitionWorklist::Clear ( )
inline

Definition at line 854 of file flow_graph.h.

854 {
855 defs_.TruncateTo(0);
856 contains_vector_->Clear();
857 }

◆ Contains()

bool dart::DefinitionWorklist::Contains ( Definition defn) const
inline

Definition at line 838 of file flow_graph.h.

838 {
839 return (defn->ssa_temp_index() >= 0) &&
840 contains_vector_->Contains(defn->ssa_temp_index());
841 }
bool Contains(intptr_t i) const
Definition bit_vector.h:91

◆ contains_vector()

BitVector * dart::DefinitionWorklist::contains_vector ( ) const
inline

Definition at line 852 of file flow_graph.h.

852{ return contains_vector_; }

◆ definitions()

const GrowableArray< Definition * > & dart::DefinitionWorklist::definitions ( ) const
inline

Definition at line 851 of file flow_graph.h.

851{ return defs_; }

◆ IsEmpty()

bool dart::DefinitionWorklist::IsEmpty ( ) const
inline

Definition at line 843 of file flow_graph.h.

843{ return defs_.is_empty(); }

◆ RemoveLast()

Definition * dart::DefinitionWorklist::RemoveLast ( )
inline

Definition at line 845 of file flow_graph.h.

845 {
846 Definition* defn = defs_.RemoveLast();
847 contains_vector_->Remove(defn->ssa_temp_index());
848 return defn;
849 }
void Remove(intptr_t i)
Definition bit_vector.h:68

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