Index: src/compiler/schedule.h |
diff --git a/src/compiler/schedule.h b/src/compiler/schedule.h |
index 5ff554f821e6545f5666e0b3b5b0325f030885b9..fbb00b0ee8d56aa590fb7d403e84e82e09d38fa8 100644 |
--- a/src/compiler/schedule.h |
+++ b/src/compiler/schedule.h |
@@ -95,6 +95,7 @@ class BasicBlock FINAL : public ZoneObject { |
} |
size_t PredecessorCount() const { return predecessors_.size(); } |
BasicBlock* PredecessorAt(size_t index) { return predecessors_[index]; } |
+ void ClearPredecessors() { predecessors_.clear(); } |
void AddPredecessor(BasicBlock* predecessor); |
typedef ZoneVector<BasicBlock*> Successors; |
@@ -108,6 +109,7 @@ class BasicBlock FINAL : public ZoneObject { |
} |
size_t SuccessorCount() const { return successors_.size(); } |
BasicBlock* SuccessorAt(size_t index) { return successors_[index]; } |
+ void ClearSuccessors() { successors_.clear(); } |
void AddSuccessor(BasicBlock* successor); |
// Nodes in the basic block. |
@@ -240,7 +242,13 @@ class Schedule FINAL : public ZoneObject { |
// BasicBlock building: add a throw at the end of {block}. |
void AddThrow(BasicBlock* block, Node* input); |
+ // BasicBlock mutation: insert a branch into the end of {block}. |
+ void InsertBranch(BasicBlock* block, BasicBlock* end, Node* branch, |
+ BasicBlock* tblock, BasicBlock* fblock); |
+ |
+ // Exposed publicly for testing only. |
Jarin
2014/10/24 13:21:19
Could you then move this to the private section an
Michael Starzinger
2014/10/24 13:44:05
Done. Good idea!
|
void AddSuccessor(BasicBlock* block, BasicBlock* succ); |
+ void MoveSuccessors(BasicBlock* from, BasicBlock* to); |
BasicBlockVector* rpo_order() { return &rpo_order_; } |
const BasicBlockVector* rpo_order() const { return &rpo_order_; } |