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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 V(MathExp) \ | 118 V(MathExp) \ |
119 V(MathFloorD) \ | 119 V(MathFloorD) \ |
120 V(MathFloorI) \ | 120 V(MathFloorI) \ |
121 V(MathFround) \ | 121 V(MathFround) \ |
122 V(MathLog) \ | 122 V(MathLog) \ |
123 V(MathMinMax) \ | 123 V(MathMinMax) \ |
124 V(MathPowHalf) \ | 124 V(MathPowHalf) \ |
125 V(MathRoundD) \ | 125 V(MathRoundD) \ |
126 V(MathRoundI) \ | 126 V(MathRoundI) \ |
127 V(MathSqrt) \ | 127 V(MathSqrt) \ |
| 128 V(MaybeGrowElements) \ |
128 V(ModByConstI) \ | 129 V(ModByConstI) \ |
129 V(ModByPowerOf2I) \ | 130 V(ModByPowerOf2I) \ |
130 V(ModI) \ | 131 V(ModI) \ |
131 V(MulConstIS) \ | 132 V(MulConstIS) \ |
132 V(MulI) \ | 133 V(MulI) \ |
133 V(MulS) \ | 134 V(MulS) \ |
134 V(NumberTagD) \ | 135 V(NumberTagD) \ |
135 V(NumberTagU) \ | 136 V(NumberTagU) \ |
136 V(NumberUntagD) \ | 137 V(NumberUntagD) \ |
137 V(OsrEntry) \ | 138 V(OsrEntry) \ |
(...skipping 2492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2630 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") | 2631 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") |
2631 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) | 2632 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) |
2632 | 2633 |
2633 void PrintDataTo(StringStream* stream) override; | 2634 void PrintDataTo(StringStream* stream) override; |
2634 | 2635 |
2635 Handle<Object> name() const { return hydrogen()->name(); } | 2636 Handle<Object> name() const { return hydrogen()->name(); } |
2636 LanguageMode language_mode() { return hydrogen()->language_mode(); } | 2637 LanguageMode language_mode() { return hydrogen()->language_mode(); } |
2637 }; | 2638 }; |
2638 | 2639 |
2639 | 2640 |
| 2641 class LMaybeGrowElements final : public LTemplateInstruction<1, 5, 0> { |
| 2642 public: |
| 2643 LMaybeGrowElements(LOperand* context, LOperand* object, LOperand* elements, |
| 2644 LOperand* key, LOperand* current_capacity) { |
| 2645 inputs_[0] = context; |
| 2646 inputs_[1] = object; |
| 2647 inputs_[2] = elements; |
| 2648 inputs_[3] = key; |
| 2649 inputs_[4] = current_capacity; |
| 2650 } |
| 2651 |
| 2652 LOperand* context() { return inputs_[0]; } |
| 2653 LOperand* object() { return inputs_[1]; } |
| 2654 LOperand* elements() { return inputs_[2]; } |
| 2655 LOperand* key() { return inputs_[3]; } |
| 2656 LOperand* current_capacity() { return inputs_[4]; } |
| 2657 |
| 2658 DECLARE_HYDROGEN_ACCESSOR(MaybeGrowElements) |
| 2659 DECLARE_CONCRETE_INSTRUCTION(MaybeGrowElements, "maybe-grow-elements") |
| 2660 }; |
| 2661 |
| 2662 |
2640 class LStringAdd final : public LTemplateInstruction<1, 3, 0> { | 2663 class LStringAdd final : public LTemplateInstruction<1, 3, 0> { |
2641 public: | 2664 public: |
2642 LStringAdd(LOperand* context, LOperand* left, LOperand* right) { | 2665 LStringAdd(LOperand* context, LOperand* left, LOperand* right) { |
2643 inputs_[0] = context; | 2666 inputs_[0] = context; |
2644 inputs_[1] = left; | 2667 inputs_[1] = left; |
2645 inputs_[2] = right; | 2668 inputs_[2] = right; |
2646 } | 2669 } |
2647 | 2670 |
2648 LOperand* context() { return inputs_[0]; } | 2671 LOperand* context() { return inputs_[0]; } |
2649 LOperand* left() { return inputs_[1]; } | 2672 LOperand* left() { return inputs_[1]; } |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3229 | 3252 |
3230 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3253 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3231 }; | 3254 }; |
3232 | 3255 |
3233 #undef DECLARE_HYDROGEN_ACCESSOR | 3256 #undef DECLARE_HYDROGEN_ACCESSOR |
3234 #undef DECLARE_CONCRETE_INSTRUCTION | 3257 #undef DECLARE_CONCRETE_INSTRUCTION |
3235 | 3258 |
3236 } } // namespace v8::internal | 3259 } } // namespace v8::internal |
3237 | 3260 |
3238 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3261 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |