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_X64_LITHIUM_X64_H_ | 5 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_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 13 matching lines...) Expand all Loading... |
24 V(ApplyArguments) \ | 24 V(ApplyArguments) \ |
25 V(ArgumentsElements) \ | 25 V(ArgumentsElements) \ |
26 V(ArgumentsLength) \ | 26 V(ArgumentsLength) \ |
27 V(ArithmeticD) \ | 27 V(ArithmeticD) \ |
28 V(ArithmeticT) \ | 28 V(ArithmeticT) \ |
29 V(BitI) \ | 29 V(BitI) \ |
30 V(BoundsCheck) \ | 30 V(BoundsCheck) \ |
31 V(Branch) \ | 31 V(Branch) \ |
32 V(CallJSFunction) \ | 32 V(CallJSFunction) \ |
33 V(CallWithDescriptor) \ | 33 V(CallWithDescriptor) \ |
34 V(CallFunction) \ | |
35 V(CallNewArray) \ | 34 V(CallNewArray) \ |
36 V(CallRuntime) \ | 35 V(CallRuntime) \ |
37 V(CheckArrayBufferNotNeutered) \ | 36 V(CheckArrayBufferNotNeutered) \ |
38 V(CheckInstanceType) \ | 37 V(CheckInstanceType) \ |
39 V(CheckMaps) \ | 38 V(CheckMaps) \ |
40 V(CheckMapValue) \ | 39 V(CheckMapValue) \ |
41 V(CheckNonSmi) \ | 40 V(CheckNonSmi) \ |
42 V(CheckSmi) \ | 41 V(CheckSmi) \ |
43 V(CheckValue) \ | 42 V(CheckValue) \ |
44 V(ClampDToUint8) \ | 43 V(ClampDToUint8) \ |
(...skipping 1738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1783 | 1782 |
1784 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") | 1783 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") |
1785 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) | 1784 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) |
1786 | 1785 |
1787 void PrintDataTo(StringStream* stream) override; | 1786 void PrintDataTo(StringStream* stream) override; |
1788 | 1787 |
1789 int arity() const { return hydrogen()->argument_count() - 1; } | 1788 int arity() const { return hydrogen()->argument_count() - 1; } |
1790 }; | 1789 }; |
1791 | 1790 |
1792 | 1791 |
1793 class LCallFunction final : public LTemplateInstruction<1, 2, 2> { | |
1794 public: | |
1795 LCallFunction(LOperand* context, LOperand* function, LOperand* slot, | |
1796 LOperand* vector) { | |
1797 inputs_[0] = context; | |
1798 inputs_[1] = function; | |
1799 temps_[0] = slot; | |
1800 temps_[1] = vector; | |
1801 } | |
1802 | |
1803 DECLARE_CONCRETE_INSTRUCTION(CallFunction, "call-function") | |
1804 DECLARE_HYDROGEN_ACCESSOR(CallFunction) | |
1805 | |
1806 LOperand* context() { return inputs_[0]; } | |
1807 LOperand* function() { return inputs_[1]; } | |
1808 LOperand* temp_slot() { return temps_[0]; } | |
1809 LOperand* temp_vector() { return temps_[1]; } | |
1810 int arity() const { return hydrogen()->argument_count() - 1; } | |
1811 | |
1812 void PrintDataTo(StringStream* stream) override; | |
1813 }; | |
1814 | |
1815 | |
1816 class LCallNewArray final : public LTemplateInstruction<1, 2, 0> { | 1792 class LCallNewArray final : public LTemplateInstruction<1, 2, 0> { |
1817 public: | 1793 public: |
1818 LCallNewArray(LOperand* context, LOperand* constructor) { | 1794 LCallNewArray(LOperand* context, LOperand* constructor) { |
1819 inputs_[0] = context; | 1795 inputs_[0] = context; |
1820 inputs_[1] = constructor; | 1796 inputs_[1] = constructor; |
1821 } | 1797 } |
1822 | 1798 |
1823 LOperand* context() { return inputs_[0]; } | 1799 LOperand* context() { return inputs_[0]; } |
1824 LOperand* constructor() { return inputs_[1]; } | 1800 LOperand* constructor() { return inputs_[1]; } |
1825 | 1801 |
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2695 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2671 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2696 }; | 2672 }; |
2697 | 2673 |
2698 #undef DECLARE_HYDROGEN_ACCESSOR | 2674 #undef DECLARE_HYDROGEN_ACCESSOR |
2699 #undef DECLARE_CONCRETE_INSTRUCTION | 2675 #undef DECLARE_CONCRETE_INSTRUCTION |
2700 | 2676 |
2701 } // namespace internal | 2677 } // namespace internal |
2702 } // namespace v8 | 2678 } // namespace v8 |
2703 | 2679 |
2704 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 2680 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
OLD | NEW |