OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_ARM64_H_ |
7 | 7 |
8 #include "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
10 #include "src/lithium-allocator.h" | 10 #include "src/lithium-allocator.h" |
(...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 LOperand* left() { return inputs_[1]; } | 712 LOperand* left() { return inputs_[1]; } |
713 LOperand* right() { return inputs_[2]; } | 713 LOperand* right() { return inputs_[2]; } |
714 Token::Value op() const { return op_; } | 714 Token::Value op() const { return op_; } |
715 | 715 |
716 Opcode opcode() const override { return LInstruction::kArithmeticT; } | 716 Opcode opcode() const override { return LInstruction::kArithmeticT; } |
717 void CompileToNative(LCodeGen* generator) override; | 717 void CompileToNative(LCodeGen* generator) override; |
718 const char* Mnemonic() const override; | 718 const char* Mnemonic() const override; |
719 | 719 |
720 DECLARE_HYDROGEN_ACCESSOR(BinaryOperation) | 720 DECLARE_HYDROGEN_ACCESSOR(BinaryOperation) |
721 | 721 |
722 LanguageMode language_mode() { return hydrogen()->language_mode(); } | 722 Strength strength() { return hydrogen()->strength(); } |
723 | 723 |
724 private: | 724 private: |
725 Token::Value op_; | 725 Token::Value op_; |
726 }; | 726 }; |
727 | 727 |
728 | 728 |
729 class LBoundsCheck final : public LTemplateInstruction<0, 2, 0> { | 729 class LBoundsCheck final : public LTemplateInstruction<0, 2, 0> { |
730 public: | 730 public: |
731 explicit LBoundsCheck(LOperand* index, LOperand* length) { | 731 explicit LBoundsCheck(LOperand* index, LOperand* length) { |
732 inputs_[0] = index; | 732 inputs_[0] = index; |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1154 inputs_[2] = right; | 1154 inputs_[2] = right; |
1155 } | 1155 } |
1156 | 1156 |
1157 LOperand* context() { return inputs_[0]; } | 1157 LOperand* context() { return inputs_[0]; } |
1158 LOperand* left() { return inputs_[1]; } | 1158 LOperand* left() { return inputs_[1]; } |
1159 LOperand* right() { return inputs_[2]; } | 1159 LOperand* right() { return inputs_[2]; } |
1160 | 1160 |
1161 DECLARE_CONCRETE_INSTRUCTION(CmpT, "cmp-t") | 1161 DECLARE_CONCRETE_INSTRUCTION(CmpT, "cmp-t") |
1162 DECLARE_HYDROGEN_ACCESSOR(CompareGeneric) | 1162 DECLARE_HYDROGEN_ACCESSOR(CompareGeneric) |
1163 | 1163 |
1164 LanguageMode language_mode() { return hydrogen()->language_mode(); } | 1164 Strength strength() { return hydrogen()->strength(); } |
1165 | 1165 |
1166 Token::Value op() const { return hydrogen()->token(); } | 1166 Token::Value op() const { return hydrogen()->token(); } |
1167 }; | 1167 }; |
1168 | 1168 |
1169 | 1169 |
1170 class LCompareMinusZeroAndBranch final : public LControlInstruction<1, 1> { | 1170 class LCompareMinusZeroAndBranch final : public LControlInstruction<1, 1> { |
1171 public: | 1171 public: |
1172 LCompareMinusZeroAndBranch(LOperand* value, LOperand* temp) { | 1172 LCompareMinusZeroAndBranch(LOperand* value, LOperand* temp) { |
1173 inputs_[0] = value; | 1173 inputs_[0] = value; |
1174 temps_[0] = temp; | 1174 temps_[0] = temp; |
(...skipping 2058 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3233 | 3233 |
3234 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3234 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3235 }; | 3235 }; |
3236 | 3236 |
3237 #undef DECLARE_HYDROGEN_ACCESSOR | 3237 #undef DECLARE_HYDROGEN_ACCESSOR |
3238 #undef DECLARE_CONCRETE_INSTRUCTION | 3238 #undef DECLARE_CONCRETE_INSTRUCTION |
3239 | 3239 |
3240 } } // namespace v8::internal | 3240 } } // namespace v8::internal |
3241 | 3241 |
3242 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3242 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |