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 if (!gap->IsRedundant()) { | 290 os << "gap "; |
291 os << "gap "; | 291 for (int i = GapInstruction::FIRST_INNER_POSITION; |
292 for (int i = GapInstruction::FIRST_INNER_POSITION; | 292 i <= GapInstruction::LAST_INNER_POSITION; i++) { |
293 i <= GapInstruction::LAST_INNER_POSITION; i++) { | 293 os << "("; |
294 os << "("; | 294 if (gap->parallel_moves_[i] != NULL) { |
295 if (gap->parallel_moves_[i] != NULL) { | 295 PrintableParallelMove ppm = {printable.register_configuration_, |
296 PrintableParallelMove ppm = {printable.register_configuration_, | 296 gap->parallel_moves_[i]}; |
297 gap->parallel_moves_[i]}; | 297 os << ppm; |
298 os << ppm; | |
299 } | |
300 os << ") "; | |
301 } | 298 } |
| 299 os << ") "; |
302 } | 300 } |
303 } else if (instr.IsSourcePosition()) { | 301 } else if (instr.IsSourcePosition()) { |
304 const SourcePositionInstruction* pos = | 302 const SourcePositionInstruction* pos = |
305 SourcePositionInstruction::cast(&instr); | 303 SourcePositionInstruction::cast(&instr); |
306 os << "position (" << pos->source_position().raw() << ")"; | 304 os << "position (" << pos->source_position().raw() << ")"; |
307 } else { | 305 } else { |
308 os << ArchOpcodeField::decode(instr.opcode()); | 306 os << ArchOpcodeField::decode(instr.opcode()); |
309 AddressingMode am = AddressingModeField::decode(instr.opcode()); | 307 AddressingMode am = AddressingModeField::decode(instr.opcode()); |
310 if (am != kMode_None) { | 308 if (am != kMode_None) { |
311 os << " : " << AddressingModeField::decode(instr.opcode()); | 309 os << " : " << AddressingModeField::decode(instr.opcode()); |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 os << " B" << succ_block->id(); | 694 os << " B" << succ_block->id(); |
697 } | 695 } |
698 os << "\n"; | 696 os << "\n"; |
699 } | 697 } |
700 return os; | 698 return os; |
701 } | 699 } |
702 | 700 |
703 } // namespace compiler | 701 } // namespace compiler |
704 } // namespace internal | 702 } // namespace internal |
705 } // namespace v8 | 703 } // namespace v8 |
OLD | NEW |