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 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 return; | 1089 return; |
1090 } else { | 1090 } else { |
1091 PrintF("AssembleArchBranch Unimplemented arch_opcode is : %d\n", | 1091 PrintF("AssembleArchBranch Unimplemented arch_opcode is : %d\n", |
1092 instr->arch_opcode()); | 1092 instr->arch_opcode()); |
1093 TRACE_UNIMPL(); | 1093 TRACE_UNIMPL(); |
1094 UNIMPLEMENTED(); | 1094 UNIMPLEMENTED(); |
1095 } | 1095 } |
1096 } | 1096 } |
1097 | 1097 |
1098 | 1098 |
| 1099 void CodeGenerator::AssembleArchSelect(Instruction* instr, |
| 1100 FlagsCondition condition) { |
| 1101 // Unsupported. |
| 1102 UNREACHABLE(); |
| 1103 } |
| 1104 |
| 1105 |
1099 void CodeGenerator::AssembleArchLookupSwitch(Instruction* instr) { | 1106 void CodeGenerator::AssembleArchLookupSwitch(Instruction* instr) { |
1100 MipsOperandConverter i(this, instr); | 1107 MipsOperandConverter i(this, instr); |
1101 Register input = i.InputRegister(0); | 1108 Register input = i.InputRegister(0); |
1102 for (size_t index = 2; index < instr->InputCount(); index += 2) { | 1109 for (size_t index = 2; index < instr->InputCount(); index += 2) { |
1103 __ li(at, Operand(i.InputInt32(index + 0))); | 1110 __ li(at, Operand(i.InputInt32(index + 0))); |
1104 __ beq(input, at, GetLabel(i.InputRpo(index + 1))); | 1111 __ beq(input, at, GetLabel(i.InputRpo(index + 1))); |
1105 } | 1112 } |
1106 __ nop(); // Branch delay slot of the last beq. | 1113 __ nop(); // Branch delay slot of the last beq. |
1107 AssembleArchJump(i.InputRpo(1)); | 1114 AssembleArchJump(i.InputRpo(1)); |
1108 } | 1115 } |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1440 padding_size -= v8::internal::Assembler::kInstrSize; | 1447 padding_size -= v8::internal::Assembler::kInstrSize; |
1441 } | 1448 } |
1442 } | 1449 } |
1443 } | 1450 } |
1444 | 1451 |
1445 #undef __ | 1452 #undef __ |
1446 | 1453 |
1447 } // namespace compiler | 1454 } // namespace compiler |
1448 } // namespace internal | 1455 } // namespace internal |
1449 } // namespace v8 | 1456 } // namespace v8 |
OLD | NEW |