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 2715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2726 bool can_deopt() const { return can_deopt_; } | 2726 bool can_deopt() const { return can_deopt_; } |
2727 | 2727 |
2728 DECLARE_CONCRETE_INSTRUCTION(ShiftI, "shift-i") | 2728 DECLARE_CONCRETE_INSTRUCTION(ShiftI, "shift-i") |
2729 | 2729 |
2730 private: | 2730 private: |
2731 Token::Value op_; | 2731 Token::Value op_; |
2732 bool can_deopt_; | 2732 bool can_deopt_; |
2733 }; | 2733 }; |
2734 | 2734 |
2735 | 2735 |
2736 class LShiftS V8_FINAL : public LTemplateInstruction<1, 2, 1> { | 2736 class LShiftS V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
2737 public: | 2737 public: |
2738 LShiftS(Token::Value op, LOperand* left, LOperand* right, LOperand* temp, | 2738 LShiftS(Token::Value op, LOperand* left, LOperand* right, bool can_deopt) |
2739 bool can_deopt) : op_(op), can_deopt_(can_deopt) { | 2739 : op_(op), can_deopt_(can_deopt) { |
2740 inputs_[0] = left; | 2740 inputs_[0] = left; |
2741 inputs_[1] = right; | 2741 inputs_[1] = right; |
2742 temps_[0] = temp; | |
2743 } | 2742 } |
2744 | 2743 |
2745 Token::Value op() const { return op_; } | 2744 Token::Value op() const { return op_; } |
2746 LOperand* left() { return inputs_[0]; } | 2745 LOperand* left() { return inputs_[0]; } |
2747 LOperand* right() { return inputs_[1]; } | 2746 LOperand* right() { return inputs_[1]; } |
2748 LOperand* temp() { return temps_[0]; } | |
2749 bool can_deopt() const { return can_deopt_; } | 2747 bool can_deopt() const { return can_deopt_; } |
2750 | 2748 |
2751 DECLARE_CONCRETE_INSTRUCTION(ShiftS, "shift-s") | 2749 DECLARE_CONCRETE_INSTRUCTION(ShiftS, "shift-s") |
2752 | 2750 |
2753 private: | 2751 private: |
2754 Token::Value op_; | 2752 Token::Value op_; |
2755 bool can_deopt_; | 2753 bool can_deopt_; |
2756 }; | 2754 }; |
2757 | 2755 |
2758 | 2756 |
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3262 | 3260 |
3263 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3261 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3264 }; | 3262 }; |
3265 | 3263 |
3266 #undef DECLARE_HYDROGEN_ACCESSOR | 3264 #undef DECLARE_HYDROGEN_ACCESSOR |
3267 #undef DECLARE_CONCRETE_INSTRUCTION | 3265 #undef DECLARE_CONCRETE_INSTRUCTION |
3268 | 3266 |
3269 } } // namespace v8::internal | 3267 } } // namespace v8::internal |
3270 | 3268 |
3271 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3269 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |