Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Side by Side Diff: src/hydrogen.cc

Issue 527063002: Revert "More aggressive reuse of spill slots in the register allocator." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/lithium-allocator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/hydrogen.h" 5 #include "src/hydrogen.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 12342 matching lines...) Expand 10 before | Expand all | Expand 10 after
12353 LOperand* op = range->CreateAssignedOperand(zone); 12353 LOperand* op = range->CreateAssignedOperand(zone);
12354 int assigned_reg = op->index(); 12354 int assigned_reg = op->index();
12355 if (op->IsDoubleRegister()) { 12355 if (op->IsDoubleRegister()) {
12356 trace_.Add(" \"%s\"", 12356 trace_.Add(" \"%s\"",
12357 DoubleRegister::AllocationIndexToString(assigned_reg)); 12357 DoubleRegister::AllocationIndexToString(assigned_reg));
12358 } else { 12358 } else {
12359 DCHECK(op->IsRegister()); 12359 DCHECK(op->IsRegister());
12360 trace_.Add(" \"%s\"", Register::AllocationIndexToString(assigned_reg)); 12360 trace_.Add(" \"%s\"", Register::AllocationIndexToString(assigned_reg));
12361 } 12361 }
12362 } else if (range->IsSpilled()) { 12362 } else if (range->IsSpilled()) {
12363 int index = -1; 12363 LOperand* op = range->TopLevel()->GetSpillOperand();
12364 if (range->TopLevel()->GetSpillRange()->id() != -1) { 12364 if (op->IsDoubleStackSlot()) {
12365 index = range->TopLevel()->GetSpillRange()->id(); 12365 trace_.Add(" \"double_stack:%d\"", op->index());
12366 } else { 12366 } else {
12367 index = range->TopLevel()->GetSpillOperand()->index(); 12367 DCHECK(op->IsStackSlot());
12368 } 12368 trace_.Add(" \"stack:%d\"", op->index());
12369 if (range->TopLevel()->Kind() == DOUBLE_REGISTERS) {
12370 trace_.Add(" \"double_stack:%d\"", index);
12371 } else {
12372 DCHECK(range->TopLevel()->Kind() == GENERAL_REGISTERS);
12373 trace_.Add(" \"stack:%d\"", index);
12374 } 12369 }
12375 } 12370 }
12376 int parent_index = -1; 12371 int parent_index = -1;
12377 if (range->IsChild()) { 12372 if (range->IsChild()) {
12378 parent_index = range->parent()->id(); 12373 parent_index = range->parent()->id();
12379 } else { 12374 } else {
12380 parent_index = range->id(); 12375 parent_index = range->id();
12381 } 12376 }
12382 LOperand* op = range->FirstHint(); 12377 LOperand* op = range->FirstHint();
12383 int hint_index = -1; 12378 int hint_index = -1;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
12494 if (ShouldProduceTraceOutput()) { 12489 if (ShouldProduceTraceOutput()) {
12495 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 12490 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
12496 } 12491 }
12497 12492
12498 #ifdef DEBUG 12493 #ifdef DEBUG
12499 graph_->Verify(false); // No full verify. 12494 graph_->Verify(false); // No full verify.
12500 #endif 12495 #endif
12501 } 12496 }
12502 12497
12503 } } // namespace v8::internal 12498 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/lithium-allocator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698