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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/linkage.h" | 8 #include "src/compiler/linkage.h" |
9 #include "src/compiler/pipeline.h" | 9 #include "src/compiler/pipeline.h" |
10 | 10 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 | 100 |
101 | 101 |
102 void CodeGenerator::AssembleInstruction(Instruction* instr) { | 102 void CodeGenerator::AssembleInstruction(Instruction* instr) { |
103 if (instr->IsBlockStart()) { | 103 if (instr->IsBlockStart()) { |
104 // Bind a label for a block start and handle parallel moves. | 104 // Bind a label for a block start and handle parallel moves. |
105 BlockStartInstruction* block_start = BlockStartInstruction::cast(instr); | 105 BlockStartInstruction* block_start = BlockStartInstruction::cast(instr); |
106 current_block_ = block_start->rpo_number(); | 106 current_block_ = block_start->rpo_number(); |
107 if (FLAG_code_comments) { | 107 if (FLAG_code_comments) { |
108 // TODO(titzer): these code comments are a giant memory leak. | 108 // TODO(titzer): these code comments are a giant memory leak. |
109 Vector<char> buffer = Vector<char>::New(32); | 109 Vector<char> buffer = Vector<char>::New(32); |
110 // TODO(dcarney): should not be rpo number there | 110 SNPrintF(buffer, "-- B%d start --", block_start->id().ToInt()); |
111 SNPrintF(buffer, "-- B%d (rpo) start --", current_block_.ToInt()); | |
112 masm()->RecordComment(buffer.start()); | 111 masm()->RecordComment(buffer.start()); |
113 } | 112 } |
114 masm()->bind(block_start->label()); | 113 masm()->bind(block_start->label()); |
115 } | 114 } |
116 if (instr->IsGapMoves()) { | 115 if (instr->IsGapMoves()) { |
117 // Handle parallel moves associated with the gap instruction. | 116 // Handle parallel moves associated with the gap instruction. |
118 AssembleGap(GapInstruction::cast(instr)); | 117 AssembleGap(GapInstruction::cast(instr)); |
119 } else if (instr->IsSourcePosition()) { | 118 } else if (instr->IsSourcePosition()) { |
120 AssembleSourcePosition(SourcePositionInstruction::cast(instr)); | 119 AssembleSourcePosition(SourcePositionInstruction::cast(instr)); |
121 } else { | 120 } else { |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 } | 505 } |
507 | 506 |
508 | 507 |
509 void CodeGenerator::AddNopForSmiCodeInlining() { UNIMPLEMENTED(); } | 508 void CodeGenerator::AddNopForSmiCodeInlining() { UNIMPLEMENTED(); } |
510 | 509 |
511 #endif // !V8_TURBOFAN_BACKEND | 510 #endif // !V8_TURBOFAN_BACKEND |
512 | 511 |
513 } // namespace compiler | 512 } // namespace compiler |
514 } // namespace internal | 513 } // namespace internal |
515 } // namespace v8 | 514 } // namespace v8 |
OLD | NEW |