| 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 |