V8 Project
|
Public Member Functions | |
CFGBuilder (Zone *zone, Scheduler *scheduler) | |
void | Run () |
void | FixNode (BasicBlock *block, Node *node) |
void | Queue (Node *node) |
void | BuildBlocks (Node *node) |
void | ConnectBlocks (Node *node) |
void | BuildBlockForNode (Node *node) |
void | BuildBlocksForSuccessors (Node *node, IrOpcode::Value a, IrOpcode::Value b) |
void | CollectSuccessorProjections (Node *node, Node **buffer, IrOpcode::Value true_opcode, IrOpcode::Value false_opcode) |
void | CollectSuccessorBlocks (Node *node, BasicBlock **buffer, IrOpcode::Value true_opcode, IrOpcode::Value false_opcode) |
void | ConnectBranch (Node *branch) |
void | ConnectMerge (Node *merge) |
void | ConnectReturn (Node *ret) |
void | TraceConnect (Node *node, BasicBlock *block, BasicBlock *succ) |
Public Attributes | |
Scheduler * | scheduler_ |
Schedule * | schedule_ |
ZoneQueue< Node * > | queue_ |
NodeVector | control_ |
Definition at line 35 of file scheduler.cc.
Definition at line 42 of file scheduler.cc.
|
inline |
Definition at line 122 of file scheduler.cc.
References v8::internal::compiler::Schedule::block(), FixNode(), v8::internal::compiler::Schedule::NewBasicBlock(), NULL, schedule_, and v8::internal::compiler::Trace().
Referenced by BuildBlocks(), and BuildBlocksForSuccessors().
|
inline |
Definition at line 89 of file scheduler.cc.
References BuildBlockForNode(), and BuildBlocksForSuccessors().
Referenced by Queue().
|
inline |
Definition at line 131 of file scheduler.cc.
References BuildBlockForNode(), and CollectSuccessorProjections().
Referenced by BuildBlocks().
|
inline |
Definition at line 161 of file scheduler.cc.
References v8::internal::compiler::Schedule::block(), CollectSuccessorProjections(), and schedule_.
Referenced by ConnectBranch().
|
inline |
Definition at line 142 of file scheduler.cc.
References DCHECK_EQ, DCHECK_NE, and NULL.
Referenced by BuildBlocksForSuccessors(), and CollectSuccessorBlocks().
|
inline |
Definition at line 103 of file scheduler.cc.
References ConnectBranch(), ConnectMerge(), ConnectReturn(), v8::internal::compiler::Scheduler::schedule_root_nodes_, and scheduler_.
Referenced by Run().
|
inline |
Definition at line 170 of file scheduler.cc.
References v8::internal::compiler::Schedule::AddBranch(), v8::internal::compiler::Schedule::block(), CollectSuccessorBlocks(), DCHECK, v8::internal::compiler::NodeProperties::GetControlInput(), NULL, schedule_, and TraceConnect().
Referenced by ConnectBlocks().
|
inline |
Definition at line 186 of file scheduler.cc.
References v8::internal::compiler::Schedule::AddGoto(), v8::internal::compiler::Schedule::block(), DCHECK, NULL, schedule_, and TraceConnect().
Referenced by ConnectBlocks().
|
inline |
Definition at line 201 of file scheduler.cc.
References v8::internal::compiler::Schedule::AddReturn(), v8::internal::compiler::Schedule::block(), v8::internal::compiler::NodeProperties::GetControlInput(), NULL, schedule_, and TraceConnect().
Referenced by ConnectBlocks().
|
inline |
Definition at line 72 of file scheduler.cc.
References v8::internal::compiler::Schedule::AddNode(), v8::internal::compiler::Scheduler::GetData(), v8::internal::compiler::Scheduler::SchedulerData::is_connected_control_, v8::internal::compiler::Scheduler::kFixed, v8::internal::compiler::Scheduler::SchedulerData::placement_, schedule_, and scheduler_.
Referenced by BuildBlockForNode(), and Run().
|
inline |
Definition at line 78 of file scheduler.cc.
References BuildBlocks(), control_, v8::internal::compiler::Scheduler::GetData(), v8::internal::compiler::Scheduler::SchedulerData::is_connected_control_, queue_, and scheduler_.
Referenced by Run().
|
inline |
Definition at line 51 of file scheduler.cc.
References ConnectBlocks(), control_, v8::internal::compiler::GenericGraph< V >::end(), v8::internal::compiler::NodeProperties::FirstControlIndex(), FixNode(), v8::internal::compiler::Scheduler::graph_, v8::internal::compiler::NodeProperties::PastControlIndex(), Queue(), queue_, schedule_, scheduler_, and v8::internal::compiler::GenericGraph< V >::start().
Referenced by v8::internal::compiler::Scheduler::BuildCFG().
|
inline |
Definition at line 208 of file scheduler.cc.
References DCHECK_NE, NULL, and v8::internal::compiler::Trace().
Referenced by ConnectBranch(), ConnectMerge(), and ConnectReturn().
NodeVector v8::internal::compiler::CFGBuilder::control_ |
Definition at line 40 of file scheduler.cc.
ZoneQueue<Node*> v8::internal::compiler::CFGBuilder::queue_ |
Definition at line 39 of file scheduler.cc.
Schedule* v8::internal::compiler::CFGBuilder::schedule_ |
Definition at line 38 of file scheduler.cc.
Referenced by BuildBlockForNode(), CollectSuccessorBlocks(), ConnectBranch(), ConnectMerge(), ConnectReturn(), FixNode(), and Run().
Scheduler* v8::internal::compiler::CFGBuilder::scheduler_ |
Definition at line 37 of file scheduler.cc.
Referenced by ConnectBlocks(), FixNode(), Queue(), and Run().