|
V8 Project
|
#include <schedule.h>
Inheritance diagram for v8::internal::compiler::Schedule:
Collaboration diagram for v8::internal::compiler::Schedule:Public Types | |
| typedef ContainerPointerWrapper< BasicBlockVector > | BasicBlocks |
Public Member Functions | |
| Schedule (Zone *zone, size_t node_count_hint=0) | |
| BasicBlock * | block (Node *node) const |
| bool | IsScheduled (Node *node) |
| BasicBlock * | GetBlockById (int block_id) |
| int | BasicBlockCount () const |
| int | RpoBlockCount () const |
| BasicBlocks | all_blocks () |
| bool | SameBasicBlock (Node *a, Node *b) const |
| BasicBlock * | NewBasicBlock () |
| void | PlanNode (BasicBlock *block, Node *node) |
| void | AddNode (BasicBlock *block, Node *node) |
| void | AddGoto (BasicBlock *block, BasicBlock *succ) |
| void | AddBranch (BasicBlock *block, Node *branch, BasicBlock *tblock, BasicBlock *fblock) |
| void | AddReturn (BasicBlock *block, Node *input) |
| void | AddThrow (BasicBlock *block, Node *input) |
| void | AddSuccessor (BasicBlock *block, BasicBlock *succ) |
| BasicBlockVector * | rpo_order () |
Public Member Functions inherited from v8::internal::compiler::GenericGraph< BasicBlock > | |
| GenericGraph (Zone *zone) | |
| BasicBlock * | start () |
| BasicBlock * | end () |
| void | SetStart (BasicBlock *start) |
| void | SetEnd (BasicBlock *end) |
Public Member Functions inherited from v8::internal::compiler::GenericGraphBase | |
| GenericGraphBase (Zone *zone) | |
| Zone * | zone () const |
| NodeId | NextNodeID () |
| NodeId | NodeCount () const |
Public Member Functions inherited from v8::internal::ZoneObject | |
| INLINE (void *operator new(size_t size, Zone *zone)) | |
| void | operator delete (void *, size_t) |
| void | operator delete (void *pointer, Zone *zone) |
Private Member Functions | |
| void | SetControlInput (BasicBlock *block, Node *node) |
| void | SetBlockForNode (BasicBlock *block, Node *node) |
Private Attributes | |
| Zone * | zone_ |
| BasicBlockVector | all_blocks_ |
| BasicBlockVector | nodeid_to_block_ |
| BasicBlockVector | rpo_order_ |
Friends | |
| class | Scheduler |
| class | CodeGenerator |
| class | ScheduleVisualizer |
| class | BasicBlockInstrumentor |
Definition at line 157 of file schedule.h.
Definition at line 189 of file schedule.h.
|
inlineexplicit |
Definition at line 159 of file schedule.h.
References NewBasicBlock(), nodeid_to_block_, v8::internal::compiler::GenericGraph< BasicBlock >::SetEnd(), and v8::internal::compiler::GenericGraph< BasicBlock >::SetStart().
Here is the call graph for this function:
|
inline |
Definition at line 238 of file schedule.h.
References AddSuccessor(), block(), DCHECK, SetBlockForNode(), and SetControlInput().
Referenced by v8::internal::compiler::RawMachineAssembler::Branch(), and v8::internal::compiler::CFGBuilder::ConnectBranch().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 231 of file schedule.h.
References AddSuccessor(), block(), and DCHECK.
Referenced by v8::internal::compiler::CFGBuilder::ConnectMerge(), and v8::internal::compiler::RawMachineAssembler::Goto().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 220 of file schedule.h.
References block(), DCHECK, NULL, v8::internal::PrintF(), and SetBlockForNode().
Referenced by v8::internal::compiler::RawMachineAssembler::CallFunctionStub0(), v8::internal::compiler::RawMachineAssembler::CallJS0(), v8::internal::compiler::RawMachineAssembler::CallRuntime1(), v8::internal::compiler::CFGBuilder::FixNode(), v8::internal::compiler::RawMachineAssembler::MakeNode(), v8::internal::compiler::PrepareUsesVisitor::Pre(), and v8::internal::compiler::Scheduler::ScheduleLate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 253 of file schedule.h.
References AddSuccessor(), block(), DCHECK, v8::internal::compiler::GenericGraph< BasicBlock >::end(), SetBlockForNode(), and SetControlInput().
Referenced by v8::internal::compiler::CFGBuilder::ConnectReturn(), and v8::internal::compiler::RawMachineAssembler::Return().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 275 of file schedule.h.
References block(), and zone_.
Referenced by AddBranch(), AddGoto(), AddReturn(), and AddThrow().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 265 of file schedule.h.
References AddSuccessor(), block(), DCHECK, v8::internal::compiler::GenericGraph< BasicBlock >::end(), and SetControlInput().
Here is the call graph for this function:
|
inline |
Definition at line 192 of file schedule.h.
References all_blocks_.
|
inline |
Definition at line 186 of file schedule.h.
References v8::internal::compiler::GenericGraphBase::NodeCount().
Referenced by v8::internal::compiler::Scheduler::BuildCFG(), v8::internal::compiler::Scheduler::ComputeSpecialRPO(), and v8::internal::compiler::ScheduleVerifier::Run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 171 of file schedule.h.
References nodeid_to_block_, and NULL.
Referenced by AddBranch(), AddGoto(), AddNode(), AddReturn(), AddSuccessor(), AddThrow(), v8::internal::compiler::CFGBuilder::BuildBlockForNode(), v8::internal::compiler::CFGBuilder::CollectSuccessorBlocks(), v8::internal::compiler::CFGBuilder::ConnectBranch(), v8::internal::compiler::CFGBuilder::ConnectMerge(), v8::internal::compiler::CFGBuilder::ConnectReturn(), v8::internal::compiler::ScheduleLateNodeVisitor::GetBlockForUse(), NewBasicBlock(), PlanNode(), v8::internal::compiler::ScheduleEarlyNodeVisitor::Pre(), v8::internal::compiler::PrepareUsesVisitor::Pre(), v8::internal::compiler::ScheduleVerifier::Run(), SameBasicBlock(), SetBlockForNode(), and SetControlInput().
Here is the caller graph for this function:
|
inline |
Definition at line 184 of file schedule.h.
References all_blocks_.
Referenced by v8::internal::compiler::ScheduleVerifier::Run().
Here is the caller graph for this function:
|
inline |
Definition at line 178 of file schedule.h.
References nodeid_to_block_, and NULL.
Referenced by v8::internal::compiler::PrepareUsesVisitor::PostEdge(), v8::internal::compiler::PrepareUsesVisitor::Pre(), and v8::internal::compiler::ScheduleLateNodeVisitor::Pre().
Here is the caller graph for this function:
|
inline |
Definition at line 201 of file schedule.h.
References all_blocks_, block(), and NULL.
Referenced by v8::internal::compiler::CFGBuilder::BuildBlockForNode(), v8::internal::compiler::RawMachineAssembler::EnsureBlock(), and Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 210 of file schedule.h.
References block(), DCHECK, NULL, v8::internal::PrintF(), and SetBlockForNode().
Referenced by v8::internal::compiler::ScheduleLateNodeVisitor::ScheduleNode().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 279 of file schedule.h.
References rpo_order_.
Referenced by v8::internal::compiler::Scheduler::ConnectFloatingControl(), v8::internal::compiler::RawMachineAssembler::Export(), v8::internal::compiler::BasicBlockInstrumentor::Instrument(), and v8::internal::compiler::ScheduleVerifier::Run().
Here is the caller graph for this function:
|
inline |
Definition at line 187 of file schedule.h.
References rpo_order_.
Referenced by v8::internal::compiler::BasicBlockInstrumentor::Instrument().
Here is the caller graph for this function:
|
inline |
|
inlineprivate |
Definition at line 290 of file schedule.h.
References block(), and nodeid_to_block_.
Referenced by AddBranch(), AddNode(), AddReturn(), v8::internal::compiler::BasicBlockInstrumentor::Instrument(), PlanNode(), and SetControlInput().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 285 of file schedule.h.
References block(), and SetBlockForNode().
Referenced by AddBranch(), AddReturn(), and AddThrow().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Definition at line 283 of file schedule.h.
|
friend |
Definition at line 273 of file schedule.h.
|
friend |
Definition at line 272 of file schedule.h.
|
friend |
Definition at line 282 of file schedule.h.
|
private |
Definition at line 299 of file schedule.h.
Referenced by all_blocks(), GetBlockById(), NewBasicBlock(), and v8::internal::compiler::Scheduler::ScheduleLate().
|
private |
Definition at line 300 of file schedule.h.
Referenced by block(), IsScheduled(), Schedule(), and SetBlockForNode().
|
private |
Definition at line 301 of file schedule.h.
Referenced by v8::internal::compiler::Scheduler::ComputeSpecialRPO(), v8::internal::compiler::Scheduler::GenerateImmediateDominatorTree(), v8::internal::compiler::Scheduler::GetRPONumber(), rpo_order(), and RpoBlockCount().
|
private |
Definition at line 298 of file schedule.h.
Referenced by AddSuccessor().