| 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/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 #include "src/compiler/code-generator-impl.h" | 6 #include "src/compiler/code-generator-impl.h" |
| 7 #include "src/compiler/gap-resolver.h" | 7 #include "src/compiler/gap-resolver.h" |
| 8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
| 9 #include "src/compiler/osr.h" | 9 #include "src/compiler/osr.h" |
| 10 #include "src/mips/macro-assembler-mips.h" | 10 #include "src/mips/macro-assembler-mips.h" |
| (...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 | 772 |
| 773 // Assembles boolean materializations after an instruction. | 773 // Assembles boolean materializations after an instruction. |
| 774 void CodeGenerator::AssembleArchBoolean(Instruction* instr, | 774 void CodeGenerator::AssembleArchBoolean(Instruction* instr, |
| 775 FlagsCondition condition) { | 775 FlagsCondition condition) { |
| 776 MipsOperandConverter i(this, instr); | 776 MipsOperandConverter i(this, instr); |
| 777 Label done; | 777 Label done; |
| 778 | 778 |
| 779 // Materialize a full 32-bit 1 or 0 value. The result register is always the | 779 // Materialize a full 32-bit 1 or 0 value. The result register is always the |
| 780 // last output of the instruction. | 780 // last output of the instruction. |
| 781 Label false_value; | 781 Label false_value; |
| 782 DCHECK_NE(0, instr->OutputCount()); | 782 DCHECK_NE(0u, instr->OutputCount()); |
| 783 Register result = i.OutputRegister(instr->OutputCount() - 1); | 783 Register result = i.OutputRegister(instr->OutputCount() - 1); |
| 784 Condition cc = kNoCondition; | 784 Condition cc = kNoCondition; |
| 785 | 785 |
| 786 // MIPS does not have condition code flags, so compare and branch are | 786 // MIPS does not have condition code flags, so compare and branch are |
| 787 // implemented differently than on the other arch's. The compare operations | 787 // implemented differently than on the other arch's. The compare operations |
| 788 // emit mips psuedo-instructions, which are checked and handled here. | 788 // emit mips psuedo-instructions, which are checked and handled here. |
| 789 | 789 |
| 790 // For materializations, we use delay slot to set the result true, and | 790 // For materializations, we use delay slot to set the result true, and |
| 791 // in the false case, where we fall thru the branch, we reset the result | 791 // in the false case, where we fall thru the branch, we reset the result |
| 792 // false. | 792 // false. |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1146 } | 1146 } |
| 1147 } | 1147 } |
| 1148 MarkLazyDeoptSite(); | 1148 MarkLazyDeoptSite(); |
| 1149 } | 1149 } |
| 1150 | 1150 |
| 1151 #undef __ | 1151 #undef __ |
| 1152 | 1152 |
| 1153 } // namespace compiler | 1153 } // namespace compiler |
| 1154 } // namespace internal | 1154 } // namespace internal |
| 1155 } // namespace v8 | 1155 } // namespace v8 |
| OLD | NEW |