Index: src/compiler/scheduler.h |
diff --git a/src/compiler/scheduler.h b/src/compiler/scheduler.h |
index b73d1bb19cfbf29a5ffa7197262175f07ba06faa..2839a0cb7a0585eba86bd338bbed5ec7f5e0bc8a 100644 |
--- a/src/compiler/scheduler.h |
+++ b/src/compiler/scheduler.h |
@@ -16,6 +16,8 @@ namespace v8 { |
namespace internal { |
namespace compiler { |
+class SpecialRPONumberer; |
+ |
// Computes a schedule from a graph, placing nodes into basic blocks and |
// ordering the basic blocks in the special RPO order. |
class Scheduler { |
@@ -60,6 +62,7 @@ class Scheduler { |
NodeVector schedule_root_nodes_; // Fixed root nodes seed the worklist. |
ZoneQueue<Node*> schedule_queue_; // Worklist of schedulable nodes. |
ZoneVector<SchedulerData> node_data_; // Per-node data for all nodes. |
+ SpecialRPONumberer* special_rpo_; // Special RPO numbering of blocks. |
Scheduler(Zone* zone, Graph* graph, Schedule* schedule); |
@@ -73,7 +76,6 @@ class Scheduler { |
void IncrementUnscheduledUseCount(Node* node, int index, Node* from); |
void DecrementUnscheduledUseCount(Node* node, int index, Node* from); |
- inline int GetRPONumber(BasicBlock* block); |
BasicBlock* GetCommonDominator(BasicBlock* b1, BasicBlock* b2); |
// Phase 1: Build control-flow graph. |
@@ -97,6 +99,9 @@ class Scheduler { |
friend class ScheduleLateNodeVisitor; |
void ScheduleLate(); |
+ // Phase 6: Seal the final schedule. |
+ void SealFinalSchedule(); |
+ |
void FuseFloatingControl(BasicBlock* block, Node* node); |
void MovePlannedNodes(BasicBlock* from, BasicBlock* to); |
}; |