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_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 V(IsStringAndBranch) \ | 87 V(IsStringAndBranch) \ |
88 V(IsUndetectableAndBranch) \ | 88 V(IsUndetectableAndBranch) \ |
89 V(Label) \ | 89 V(Label) \ |
90 V(LazyBailout) \ | 90 V(LazyBailout) \ |
91 V(LoadContextSlot) \ | 91 V(LoadContextSlot) \ |
92 V(LoadFieldByIndex) \ | 92 V(LoadFieldByIndex) \ |
93 V(LoadFunctionPrototype) \ | 93 V(LoadFunctionPrototype) \ |
94 V(LoadKeyedExternal) \ | 94 V(LoadKeyedExternal) \ |
95 V(LoadKeyedFixed) \ | 95 V(LoadKeyedFixed) \ |
96 V(LoadKeyedFixedDouble) \ | 96 V(LoadKeyedFixedDouble) \ |
97 V(LoadKeyedGeneric) \ | |
98 V(LoadNamedField) \ | 97 V(LoadNamedField) \ |
99 V(LoadRoot) \ | 98 V(LoadRoot) \ |
100 V(MathAbs) \ | 99 V(MathAbs) \ |
101 V(MathAbsTagged) \ | 100 V(MathAbsTagged) \ |
102 V(MathClz32) \ | 101 V(MathClz32) \ |
103 V(MathCos) \ | 102 V(MathCos) \ |
104 V(MathSin) \ | 103 V(MathSin) \ |
105 V(MathExp) \ | 104 V(MathExp) \ |
106 V(MathFloorD) \ | 105 V(MathFloorD) \ |
107 V(MathFloorI) \ | 106 V(MathFloorI) \ |
(...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1610 : LLoadKeyed<1>(elements, key, nullptr) { | 1609 : LLoadKeyed<1>(elements, key, nullptr) { |
1611 temps_[0] = temp; | 1610 temps_[0] = temp; |
1612 } | 1611 } |
1613 | 1612 |
1614 LOperand* temp() { return temps_[0]; } | 1613 LOperand* temp() { return temps_[0]; } |
1615 | 1614 |
1616 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFixedDouble, "load-keyed-fixed-double"); | 1615 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedFixedDouble, "load-keyed-fixed-double"); |
1617 }; | 1616 }; |
1618 | 1617 |
1619 | 1618 |
1620 class LLoadKeyedGeneric final : public LTemplateInstruction<1, 3, 1> { | |
1621 public: | |
1622 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key, | |
1623 LOperand* vector) { | |
1624 inputs_[0] = context; | |
1625 inputs_[1] = object; | |
1626 inputs_[2] = key; | |
1627 temps_[0] = vector; | |
1628 } | |
1629 | |
1630 LOperand* context() { return inputs_[0]; } | |
1631 LOperand* object() { return inputs_[1]; } | |
1632 LOperand* key() { return inputs_[2]; } | |
1633 LOperand* temp_vector() { return temps_[0]; } | |
1634 | |
1635 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") | |
1636 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric) | |
1637 }; | |
1638 | |
1639 | |
1640 class LLoadRoot final : public LTemplateInstruction<1, 0, 0> { | 1619 class LLoadRoot final : public LTemplateInstruction<1, 0, 0> { |
1641 public: | 1620 public: |
1642 DECLARE_CONCRETE_INSTRUCTION(LoadRoot, "load-root") | 1621 DECLARE_CONCRETE_INSTRUCTION(LoadRoot, "load-root") |
1643 DECLARE_HYDROGEN_ACCESSOR(LoadRoot) | 1622 DECLARE_HYDROGEN_ACCESSOR(LoadRoot) |
1644 | 1623 |
1645 Heap::RootListIndex index() const { return hydrogen()->index(); } | 1624 Heap::RootListIndex index() const { return hydrogen()->index(); } |
1646 }; | 1625 }; |
1647 | 1626 |
1648 | 1627 |
1649 template<int T> | 1628 template<int T> |
(...skipping 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2896 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2875 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2897 }; | 2876 }; |
2898 | 2877 |
2899 #undef DECLARE_HYDROGEN_ACCESSOR | 2878 #undef DECLARE_HYDROGEN_ACCESSOR |
2900 #undef DECLARE_CONCRETE_INSTRUCTION | 2879 #undef DECLARE_CONCRETE_INSTRUCTION |
2901 | 2880 |
2902 } // namespace internal | 2881 } // namespace internal |
2903 } // namespace v8 | 2882 } // namespace v8 |
2904 | 2883 |
2905 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 2884 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |