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 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 | 885 |
886 // Assembles boolean materializations after an instruction. | 886 // Assembles boolean materializations after an instruction. |
887 void CodeGenerator::AssembleArchBoolean(Instruction* instr, | 887 void CodeGenerator::AssembleArchBoolean(Instruction* instr, |
888 FlagsCondition condition) { | 888 FlagsCondition condition) { |
889 MipsOperandConverter i(this, instr); | 889 MipsOperandConverter i(this, instr); |
890 Label done; | 890 Label done; |
891 | 891 |
892 // Materialize a full 32-bit 1 or 0 value. The result register is always the | 892 // Materialize a full 32-bit 1 or 0 value. The result register is always the |
893 // last output of the instruction. | 893 // last output of the instruction. |
894 Label false_value; | 894 Label false_value; |
895 DCHECK_NE(0, instr->OutputCount()); | 895 DCHECK_NE(0u, instr->OutputCount()); |
896 Register result = i.OutputRegister(instr->OutputCount() - 1); | 896 Register result = i.OutputRegister(instr->OutputCount() - 1); |
897 Condition cc = kNoCondition; | 897 Condition cc = kNoCondition; |
898 | 898 |
899 // MIPS does not have condition code flags, so compare and branch are | 899 // MIPS does not have condition code flags, so compare and branch are |
900 // implemented differently than on the other arch's. The compare operations | 900 // implemented differently than on the other arch's. The compare operations |
901 // emit mips pseudo-instructions, which are checked and handled here. | 901 // emit mips pseudo-instructions, which are checked and handled here. |
902 | 902 |
903 // For materializations, we use delay slot to set the result true, and | 903 // For materializations, we use delay slot to set the result true, and |
904 // in the false case, where we fall through the branch, we reset the result | 904 // in the false case, where we fall through the branch, we reset the result |
905 // false. | 905 // false. |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1316 } | 1316 } |
1317 } | 1317 } |
1318 MarkLazyDeoptSite(); | 1318 MarkLazyDeoptSite(); |
1319 } | 1319 } |
1320 | 1320 |
1321 #undef __ | 1321 #undef __ |
1322 | 1322 |
1323 } // namespace compiler | 1323 } // namespace compiler |
1324 } // namespace internal | 1324 } // namespace internal |
1325 } // namespace v8 | 1325 } // namespace v8 |
OLD | NEW |