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

Side by Side Diff: src/hydrogen.cc

Issue 519423002: 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 12341 matching lines...) Expand 10 before | Expand all | Expand 10 after
12352 LOperand* op = range->CreateAssignedOperand(zone); 12352 LOperand* op = range->CreateAssignedOperand(zone);
12353 int assigned_reg = op->index(); 12353 int assigned_reg = op->index();
12354 if (op->IsDoubleRegister()) { 12354 if (op->IsDoubleRegister()) {
12355 trace_.Add(" \"%s\"", 12355 trace_.Add(" \"%s\"",
12356 DoubleRegister::AllocationIndexToString(assigned_reg)); 12356 DoubleRegister::AllocationIndexToString(assigned_reg));
12357 } else { 12357 } else {
12358 DCHECK(op->IsRegister()); 12358 DCHECK(op->IsRegister());
12359 trace_.Add(" \"%s\"", Register::AllocationIndexToString(assigned_reg)); 12359 trace_.Add(" \"%s\"", Register::AllocationIndexToString(assigned_reg));
12360 } 12360 }
12361 } else if (range->IsSpilled()) { 12361 } else if (range->IsSpilled()) {
12362 int index = -1; 12362 LOperand* op = range->TopLevel()->GetSpillOperand();
12363 if (range->TopLevel()->GetSpillRange()->id() != -1) { 12363 if (op->IsDoubleStackSlot()) {
12364 index = range->TopLevel()->GetSpillRange()->id(); 12364 trace_.Add(" \"double_stack:%d\"", op->index());
12365 } else { 12365 } else {
12366 index = range->TopLevel()->GetSpillOperand()->index(); 12366 DCHECK(op->IsStackSlot());
12367 } 12367 trace_.Add(" \"stack:%d\"", op->index());
12368 if (range->TopLevel()->Kind() == DOUBLE_REGISTERS) {
12369 trace_.Add(" \"double_stack:%d\"", index);
12370 } else {
12371 DCHECK(range->TopLevel()->Kind() == GENERAL_REGISTERS);
12372 trace_.Add(" \"stack:%d\"", index);
12373 } 12368 }
12374 } 12369 }
12375 int parent_index = -1; 12370 int parent_index = -1;
12376 if (range->IsChild()) { 12371 if (range->IsChild()) {
12377 parent_index = range->parent()->id(); 12372 parent_index = range->parent()->id();
12378 } else { 12373 } else {
12379 parent_index = range->id(); 12374 parent_index = range->id();
12380 } 12375 }
12381 LOperand* op = range->FirstHint(); 12376 LOperand* op = range->FirstHint();
12382 int hint_index = -1; 12377 int hint_index = -1;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
12493 if (ShouldProduceTraceOutput()) { 12488 if (ShouldProduceTraceOutput()) {
12494 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 12489 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
12495 } 12490 }
12496 12491
12497 #ifdef DEBUG 12492 #ifdef DEBUG
12498 graph_->Verify(false); // No full verify. 12493 graph_->Verify(false); // No full verify.
12499 #endif 12494 #endif
12500 } 12495 }
12501 12496
12502 } } // namespace v8::internal 12497 } } // 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