OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ | 5 #ifndef V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ |
6 #define V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ | 6 #define V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ |
7 | 7 |
8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
10 #include "src/crankshaft/lithium-allocator.h" | 10 #include "src/crankshaft/lithium-allocator.h" |
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1111 inputs_[2] = right; | 1111 inputs_[2] = right; |
1112 } | 1112 } |
1113 | 1113 |
1114 LOperand* context() { return inputs_[0]; } | 1114 LOperand* context() { return inputs_[0]; } |
1115 LOperand* left() { return inputs_[1]; } | 1115 LOperand* left() { return inputs_[1]; } |
1116 LOperand* right() { return inputs_[2]; } | 1116 LOperand* right() { return inputs_[2]; } |
1117 | 1117 |
1118 DECLARE_CONCRETE_INSTRUCTION(CmpT, "cmp-t") | 1118 DECLARE_CONCRETE_INSTRUCTION(CmpT, "cmp-t") |
1119 DECLARE_HYDROGEN_ACCESSOR(CompareGeneric) | 1119 DECLARE_HYDROGEN_ACCESSOR(CompareGeneric) |
1120 | 1120 |
1121 Strength strength() { return hydrogen()->strength(); } | |
1122 | |
1123 Token::Value op() const { return hydrogen()->token(); } | 1121 Token::Value op() const { return hydrogen()->token(); } |
1124 }; | 1122 }; |
1125 | 1123 |
1126 | 1124 |
1127 class LInstanceOf final : public LTemplateInstruction<1, 3, 0> { | 1125 class LInstanceOf final : public LTemplateInstruction<1, 3, 0> { |
1128 public: | 1126 public: |
1129 LInstanceOf(LOperand* context, LOperand* left, LOperand* right) { | 1127 LInstanceOf(LOperand* context, LOperand* left, LOperand* right) { |
1130 inputs_[0] = context; | 1128 inputs_[0] = context; |
1131 inputs_[1] = left; | 1129 inputs_[1] = left; |
1132 inputs_[2] = right; | 1130 inputs_[2] = right; |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1424 LOperand* left() { return inputs_[1]; } | 1422 LOperand* left() { return inputs_[1]; } |
1425 LOperand* right() { return inputs_[2]; } | 1423 LOperand* right() { return inputs_[2]; } |
1426 Token::Value op() const { return op_; } | 1424 Token::Value op() const { return op_; } |
1427 | 1425 |
1428 Opcode opcode() const final { return LInstruction::kArithmeticT; } | 1426 Opcode opcode() const final { return LInstruction::kArithmeticT; } |
1429 void CompileToNative(LCodeGen* generator) override; | 1427 void CompileToNative(LCodeGen* generator) override; |
1430 const char* Mnemonic() const override; | 1428 const char* Mnemonic() const override; |
1431 | 1429 |
1432 DECLARE_HYDROGEN_ACCESSOR(BinaryOperation) | 1430 DECLARE_HYDROGEN_ACCESSOR(BinaryOperation) |
1433 | 1431 |
1434 Strength strength() { return hydrogen()->strength(); } | |
1435 | |
1436 private: | 1432 private: |
1437 Token::Value op_; | 1433 Token::Value op_; |
1438 }; | 1434 }; |
1439 | 1435 |
1440 | 1436 |
1441 class LReturn final : public LTemplateInstruction<0, 3, 0> { | 1437 class LReturn final : public LTemplateInstruction<0, 3, 0> { |
1442 public: | 1438 public: |
1443 LReturn(LOperand* value, LOperand* context, LOperand* parameter_count) { | 1439 LReturn(LOperand* value, LOperand* context, LOperand* parameter_count) { |
1444 inputs_[0] = value; | 1440 inputs_[0] = value; |
1445 inputs_[1] = context; | 1441 inputs_[1] = context; |
(...skipping 1261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2707 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2703 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2708 }; | 2704 }; |
2709 | 2705 |
2710 #undef DECLARE_HYDROGEN_ACCESSOR | 2706 #undef DECLARE_HYDROGEN_ACCESSOR |
2711 #undef DECLARE_CONCRETE_INSTRUCTION | 2707 #undef DECLARE_CONCRETE_INSTRUCTION |
2712 | 2708 |
2713 } // namespace internal | 2709 } // namespace internal |
2714 } // namespace v8 | 2710 } // namespace v8 |
2715 | 2711 |
2716 #endif // V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ | 2712 #endif // V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ |
OLD | NEW |