Commit 9724ede8 authored by mstarzinger's avatar mstarzinger Committed by Commit bot

Switch backedge table in scheduler to use ZoneVector.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/761733002

Cr-Commit-Position: refs/heads/master@{#25542}
parent a0394388
...@@ -538,7 +538,7 @@ class SpecialRPONumberer : public ZoneObject { ...@@ -538,7 +538,7 @@ class SpecialRPONumberer : public ZoneObject {
order_(NULL), order_(NULL),
beyond_end_(NULL), beyond_end_(NULL),
loops_(zone), loops_(zone),
backedges_(1, zone), backedges_(zone),
stack_(zone), stack_(zone),
previous_block_count_(0) {} previous_block_count_(0) {}
...@@ -690,7 +690,7 @@ class SpecialRPONumberer : public ZoneObject { ...@@ -690,7 +690,7 @@ class SpecialRPONumberer : public ZoneObject {
if (succ->rpo_number() == kBlockVisited1) continue; if (succ->rpo_number() == kBlockVisited1) continue;
if (succ->rpo_number() == kBlockOnStack) { if (succ->rpo_number() == kBlockOnStack) {
// The successor is on the stack, so this is a backedge (cycle). // The successor is on the stack, so this is a backedge (cycle).
backedges_.Add(Backedge(frame->block, frame->index - 1), zone_); backedges_.push_back(Backedge(frame->block, frame->index - 1));
if (!HasLoopNumber(succ)) { if (!HasLoopNumber(succ)) {
// Assign a new loop number to the header if it doesn't have one. // Assign a new loop number to the header if it doesn't have one.
SetLoopNumber(succ, num_loops++); SetLoopNumber(succ, num_loops++);
...@@ -853,7 +853,7 @@ class SpecialRPONumberer : public ZoneObject { ...@@ -853,7 +853,7 @@ class SpecialRPONumberer : public ZoneObject {
// Computes loop membership from the backedges of the control flow graph. // Computes loop membership from the backedges of the control flow graph.
void ComputeLoopInfo(ZoneVector<SpecialRPOStackFrame>& queue, void ComputeLoopInfo(ZoneVector<SpecialRPOStackFrame>& queue,
size_t num_loops, ZoneList<Backedge>* backedges) { size_t num_loops, ZoneVector<Backedge>* backedges) {
// Extend existing loop membership vectors. // Extend existing loop membership vectors.
for (LoopInfo& loop : loops_) { for (LoopInfo& loop : loops_) {
BitVector* new_members = new (zone_) BitVector* new_members = new (zone_)
...@@ -867,7 +867,7 @@ class SpecialRPONumberer : public ZoneObject { ...@@ -867,7 +867,7 @@ class SpecialRPONumberer : public ZoneObject {
// Compute loop membership starting from backedges. // Compute loop membership starting from backedges.
// O(max(loop_depth) * max(|loop|) // O(max(loop_depth) * max(|loop|)
for (int i = 0; i < backedges->length(); i++) { for (size_t i = 0; i < backedges->size(); i++) {
BasicBlock* member = backedges->at(i).first; BasicBlock* member = backedges->at(i).first;
BasicBlock* header = member->SuccessorAt(backedges->at(i).second); BasicBlock* header = member->SuccessorAt(backedges->at(i).second);
size_t loop_num = GetLoopNumber(header); size_t loop_num = GetLoopNumber(header);
...@@ -1012,7 +1012,7 @@ class SpecialRPONumberer : public ZoneObject { ...@@ -1012,7 +1012,7 @@ class SpecialRPONumberer : public ZoneObject {
BasicBlock* order_; BasicBlock* order_;
BasicBlock* beyond_end_; BasicBlock* beyond_end_;
ZoneVector<LoopInfo> loops_; ZoneVector<LoopInfo> loops_;
ZoneList<Backedge> backedges_; ZoneVector<Backedge> backedges_;
ZoneVector<SpecialRPOStackFrame> stack_; ZoneVector<SpecialRPOStackFrame> stack_;
size_t previous_block_count_; size_t previous_block_count_;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment