OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/compiler/common-operator.h" | 5 #include "src/compiler/common-operator.h" |
6 #include "src/compiler/graph.h" | 6 #include "src/compiler/graph.h" |
7 #include "src/compiler/instruction.h" | 7 #include "src/compiler/instruction.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 if (i > 0) os << ", "; | 280 if (i > 0) os << ", "; |
281 printable_op.op_ = instr.OutputAt(i); | 281 printable_op.op_ = instr.OutputAt(i); |
282 os << printable_op; | 282 os << printable_op; |
283 } | 283 } |
284 | 284 |
285 if (instr.OutputCount() > 1) os << ") = "; | 285 if (instr.OutputCount() > 1) os << ") = "; |
286 if (instr.OutputCount() == 1) os << " = "; | 286 if (instr.OutputCount() == 1) os << " = "; |
287 | 287 |
288 if (instr.IsGapMoves()) { | 288 if (instr.IsGapMoves()) { |
289 const GapInstruction* gap = GapInstruction::cast(&instr); | 289 const GapInstruction* gap = GapInstruction::cast(&instr); |
290 os << "gap "; | 290 if (!gap->IsRedundant()) { |
291 for (int i = GapInstruction::FIRST_INNER_POSITION; | 291 os << "gap "; |
292 i <= GapInstruction::LAST_INNER_POSITION; i++) { | 292 for (int i = GapInstruction::FIRST_INNER_POSITION; |
293 os << "("; | 293 i <= GapInstruction::LAST_INNER_POSITION; i++) { |
294 if (gap->parallel_moves_[i] != NULL) { | 294 os << "("; |
295 PrintableParallelMove ppm = {printable.register_configuration_, | 295 if (gap->parallel_moves_[i] != NULL) { |
296 gap->parallel_moves_[i]}; | 296 PrintableParallelMove ppm = {printable.register_configuration_, |
297 os << ppm; | 297 gap->parallel_moves_[i]}; |
| 298 os << ppm; |
| 299 } |
| 300 os << ") "; |
298 } | 301 } |
299 os << ") "; | |
300 } | 302 } |
301 } else if (instr.IsSourcePosition()) { | 303 } else if (instr.IsSourcePosition()) { |
302 const SourcePositionInstruction* pos = | 304 const SourcePositionInstruction* pos = |
303 SourcePositionInstruction::cast(&instr); | 305 SourcePositionInstruction::cast(&instr); |
304 os << "position (" << pos->source_position().raw() << ")"; | 306 os << "position (" << pos->source_position().raw() << ")"; |
305 } else { | 307 } else { |
306 os << ArchOpcodeField::decode(instr.opcode()); | 308 os << ArchOpcodeField::decode(instr.opcode()); |
307 AddressingMode am = AddressingModeField::decode(instr.opcode()); | 309 AddressingMode am = AddressingModeField::decode(instr.opcode()); |
308 if (am != kMode_None) { | 310 if (am != kMode_None) { |
309 os << " : " << AddressingModeField::decode(instr.opcode()); | 311 os << " : " << AddressingModeField::decode(instr.opcode()); |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 os << " B" << succ_block->id(); | 696 os << " B" << succ_block->id(); |
695 } | 697 } |
696 os << "\n"; | 698 os << "\n"; |
697 } | 699 } |
698 return os; | 700 return os; |
699 } | 701 } |
700 | 702 |
701 } // namespace compiler | 703 } // namespace compiler |
702 } // namespace internal | 704 } // namespace internal |
703 } // namespace v8 | 705 } // namespace v8 |
OLD | NEW |