| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |