#include <scheduler.h>
|
| Scheduler (Zone *zone, TFGraph *graph, Schedule *schedule, Flags flags, size_t node_count_hint_, TickCounter *tick_counter, const ProfileDataFromFile *profile_data) |
|
SchedulerData | DefaultSchedulerData () |
|
SchedulerData * | GetData (Node *node) |
|
Placement | GetPlacement (Node *node) |
|
Placement | InitializePlacement (Node *node) |
|
void | UpdatePlacement (Node *node, Placement placement) |
|
bool | IsLive (Node *node) |
|
std::optional< int > | GetCoupledControlEdge (Node *node) |
|
void | IncrementUnscheduledUseCount (Node *node, Node *from) |
|
void | DecrementUnscheduledUseCount (Node *node, Node *from) |
|
BasicBlock * | GetCommonDominator (BasicBlock *b1, BasicBlock *b2) |
|
BasicBlock * | GetCommonDominatorIfCached (BasicBlock *b1, BasicBlock *b2) |
|
void | BuildCFG () |
|
void | ComputeSpecialRPONumbering () |
|
void | GenerateDominatorTree () |
|
void | PrepareUses () |
|
void | ScheduleEarly () |
|
void | ScheduleLate () |
|
void | SealFinalSchedule () |
|
void | FuseFloatingControl (BasicBlock *block, Node *node) |
|
void | MovePlannedNodes (BasicBlock *from, BasicBlock *to) |
|
Definition at line 31 of file scheduler.h.
◆ CommonDominatorCache
◆ Flags
◆ Flag
Enumerator |
---|
kNoFlags | |
kSplitNodes | |
kTempSchedule | |
Definition at line 34 of file scheduler.h.
◆ Placement
Enumerator |
---|
kUnknown | |
kSchedulable | |
kFixed | |
kCoupled | |
kScheduled | |
Definition at line 68 of file scheduler.h.
◆ Scheduler()
◆ BuildCFG()
void v8::internal::compiler::Scheduler::BuildCFG |
( |
| ) |
|
|
private |
◆ ComputeSchedule()
◆ ComputeSpecialRPO()
◆ ComputeSpecialRPONumbering()
void v8::internal::compiler::Scheduler::ComputeSpecialRPONumbering |
( |
| ) |
|
|
private |
◆ DecrementUnscheduledUseCount()
void v8::internal::compiler::Scheduler::DecrementUnscheduledUseCount |
( |
Node * | node, |
|
|
Node * | from ) |
|
private |
◆ DefaultSchedulerData()
◆ FuseFloatingControl()
void v8::internal::compiler::Scheduler::FuseFloatingControl |
( |
BasicBlock * | block, |
|
|
Node * | node ) |
|
private |
◆ GenerateDominatorTree() [1/2]
void v8::internal::compiler::Scheduler::GenerateDominatorTree |
( |
| ) |
|
|
private |
◆ GenerateDominatorTree() [2/2]
void v8::internal::compiler::Scheduler::GenerateDominatorTree |
( |
Schedule * | schedule | ) |
|
|
static |
◆ GetCommonDominator()
◆ GetCommonDominatorIfCached()
◆ GetCoupledControlEdge()
std::optional< int > v8::internal::compiler::Scheduler::GetCoupledControlEdge |
( |
Node * | node | ) |
|
|
inlineprivate |
◆ GetData()
◆ GetPlacement()
◆ IncrementUnscheduledUseCount()
void v8::internal::compiler::Scheduler::IncrementUnscheduledUseCount |
( |
Node * | node, |
|
|
Node * | from ) |
|
private |
◆ InitializePlacement()
◆ IsLive()
bool v8::internal::compiler::Scheduler::IsLive |
( |
Node * | node | ) |
|
|
private |
◆ MovePlannedNodes()
◆ PrepareUses()
void v8::internal::compiler::Scheduler::PrepareUses |
( |
| ) |
|
|
private |
◆ profile_data()
◆ PropagateImmediateDominators()
void v8::internal::compiler::Scheduler::PropagateImmediateDominators |
( |
BasicBlock * | block | ) |
|
|
staticprivate |
◆ ScheduleEarly()
void v8::internal::compiler::Scheduler::ScheduleEarly |
( |
| ) |
|
|
private |
◆ ScheduleLate()
void v8::internal::compiler::Scheduler::ScheduleLate |
( |
| ) |
|
|
private |
◆ SealFinalSchedule()
void v8::internal::compiler::Scheduler::SealFinalSchedule |
( |
| ) |
|
|
private |
◆ UpdatePlacement()
void v8::internal::compiler::Scheduler::UpdatePlacement |
( |
Node * | node, |
|
|
Placement | placement ) |
|
private |
◆ CFGBuilder
◆ PrepareUsesVisitor
◆ ScheduleEarlyNodeVisitor
◆ ScheduleLateNodeVisitor
◆ SpecialRPONumberer
◆ common_dominator_cache_
◆ control_flow_builder_
CFGBuilder* v8::internal::compiler::Scheduler::control_flow_builder_ |
|
private |
◆ equivalence_
◆ flags_
Flags v8::internal::compiler::Scheduler::flags_ |
|
private |
◆ graph_
TFGraph* v8::internal::compiler::Scheduler::graph_ |
|
private |
◆ node_data_
◆ profile_data_
◆ schedule_
Schedule* v8::internal::compiler::Scheduler::schedule_ |
|
private |
◆ schedule_queue_
ZoneQueue<Node*> v8::internal::compiler::Scheduler::schedule_queue_ |
|
private |
◆ schedule_root_nodes_
NodeVector v8::internal::compiler::Scheduler::schedule_root_nodes_ |
|
private |
◆ scheduled_nodes_
◆ special_rpo_
◆ tick_counter_
TickCounter* const v8::internal::compiler::Scheduler::tick_counter_ |
|
private |
◆ zone_
Zone* v8::internal::compiler::Scheduler::zone_ |
|
private |
The documentation for this class was generated from the following files: