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 1151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1162 return; | 1162 return; |
1163 } else { | 1163 } else { |
1164 PrintF("AssembleArchBranch Unimplemented arch_opcode is : %d\n", | 1164 PrintF("AssembleArchBranch Unimplemented arch_opcode is : %d\n", |
1165 instr->arch_opcode()); | 1165 instr->arch_opcode()); |
1166 TRACE_UNIMPL(); | 1166 TRACE_UNIMPL(); |
1167 UNIMPLEMENTED(); | 1167 UNIMPLEMENTED(); |
1168 } | 1168 } |
1169 } | 1169 } |
1170 | 1170 |
1171 | 1171 |
| 1172 void CodeGenerator::AssembleArchSelect(Instruction* instr, |
| 1173 FlagsCondition condition) { |
| 1174 // Unsupported. |
| 1175 UNREACHABLE(); |
| 1176 } |
| 1177 |
| 1178 |
1172 void CodeGenerator::AssembleArchLookupSwitch(Instruction* instr) { | 1179 void CodeGenerator::AssembleArchLookupSwitch(Instruction* instr) { |
1173 MipsOperandConverter i(this, instr); | 1180 MipsOperandConverter i(this, instr); |
1174 Register input = i.InputRegister(0); | 1181 Register input = i.InputRegister(0); |
1175 for (size_t index = 2; index < instr->InputCount(); index += 2) { | 1182 for (size_t index = 2; index < instr->InputCount(); index += 2) { |
1176 __ li(at, Operand(i.InputInt32(index + 0))); | 1183 __ li(at, Operand(i.InputInt32(index + 0))); |
1177 __ beq(input, at, GetLabel(i.InputRpo(index + 1))); | 1184 __ beq(input, at, GetLabel(i.InputRpo(index + 1))); |
1178 } | 1185 } |
1179 __ nop(); // Branch delay slot of the last beq. | 1186 __ nop(); // Branch delay slot of the last beq. |
1180 AssembleArchJump(i.InputRpo(1)); | 1187 AssembleArchJump(i.InputRpo(1)); |
1181 } | 1188 } |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1515 padding_size -= v8::internal::Assembler::kInstrSize; | 1522 padding_size -= v8::internal::Assembler::kInstrSize; |
1516 } | 1523 } |
1517 } | 1524 } |
1518 } | 1525 } |
1519 | 1526 |
1520 #undef __ | 1527 #undef __ |
1521 | 1528 |
1522 } // namespace compiler | 1529 } // namespace compiler |
1523 } // namespace internal | 1530 } // namespace internal |
1524 } // namespace v8 | 1531 } // namespace v8 |
OLD | NEW |