| 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_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
| 6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/code-stub-assembler.h" | 10 #include "src/code-stub-assembler.h" |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 V(AllocateInt8x16) \ | 114 V(AllocateInt8x16) \ |
| 115 V(AllocateUint8x16) \ | 115 V(AllocateUint8x16) \ |
| 116 V(AllocateBool8x16) \ | 116 V(AllocateBool8x16) \ |
| 117 V(ArrayNoArgumentConstructor) \ | 117 V(ArrayNoArgumentConstructor) \ |
| 118 V(ArraySingleArgumentConstructor) \ | 118 V(ArraySingleArgumentConstructor) \ |
| 119 V(ArrayNArgumentsConstructor) \ | 119 V(ArrayNArgumentsConstructor) \ |
| 120 V(CreateAllocationSite) \ | 120 V(CreateAllocationSite) \ |
| 121 V(CreateWeakCell) \ | 121 V(CreateWeakCell) \ |
| 122 V(StringLength) \ | 122 V(StringLength) \ |
| 123 V(Add) \ | 123 V(Add) \ |
| 124 V(AddWithFeedback) \ |
| 124 V(Subtract) \ | 125 V(Subtract) \ |
| 125 V(SubtractWithFeedback) \ | 126 V(SubtractWithFeedback) \ |
| 126 V(Multiply) \ | 127 V(Multiply) \ |
| 128 V(MultiplyWithFeedback) \ |
| 127 V(Divide) \ | 129 V(Divide) \ |
| 130 V(DivideWithFeedback) \ |
| 128 V(Modulus) \ | 131 V(Modulus) \ |
| 132 V(ModulusWithFeedback) \ |
| 129 V(ShiftRight) \ | 133 V(ShiftRight) \ |
| 130 V(ShiftRightLogical) \ | 134 V(ShiftRightLogical) \ |
| 131 V(ShiftLeft) \ | 135 V(ShiftLeft) \ |
| 132 V(BitwiseAnd) \ | 136 V(BitwiseAnd) \ |
| 133 V(BitwiseOr) \ | 137 V(BitwiseOr) \ |
| 134 V(BitwiseXor) \ | 138 V(BitwiseXor) \ |
| 135 V(Inc) \ | 139 V(Inc) \ |
| 136 V(InternalArrayNoArgumentConstructor) \ | 140 V(InternalArrayNoArgumentConstructor) \ |
| 137 V(InternalArraySingleArgumentConstructor) \ | 141 V(InternalArraySingleArgumentConstructor) \ |
| 138 V(Dec) \ | 142 V(Dec) \ |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 }; | 753 }; |
| 750 | 754 |
| 751 class AddStub final : public TurboFanCodeStub { | 755 class AddStub final : public TurboFanCodeStub { |
| 752 public: | 756 public: |
| 753 explicit AddStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 757 explicit AddStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 754 | 758 |
| 755 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 759 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 756 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Add, TurboFanCodeStub); | 760 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Add, TurboFanCodeStub); |
| 757 }; | 761 }; |
| 758 | 762 |
| 763 class AddWithFeedbackStub final : public TurboFanCodeStub { |
| 764 public: |
| 765 explicit AddWithFeedbackStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 766 |
| 767 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 768 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(AddWithFeedback, |
| 769 TurboFanCodeStub); |
| 770 }; |
| 771 |
| 759 class SubtractStub final : public TurboFanCodeStub { | 772 class SubtractStub final : public TurboFanCodeStub { |
| 760 public: | 773 public: |
| 761 explicit SubtractStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 774 explicit SubtractStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 762 | 775 |
| 763 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 776 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 764 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Subtract, TurboFanCodeStub); | 777 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Subtract, TurboFanCodeStub); |
| 765 }; | 778 }; |
| 766 | 779 |
| 767 class SubtractWithFeedbackStub final : public TurboFanCodeStub { | 780 class SubtractWithFeedbackStub final : public TurboFanCodeStub { |
| 768 public: | 781 public: |
| 769 explicit SubtractWithFeedbackStub(Isolate* isolate) | 782 explicit SubtractWithFeedbackStub(Isolate* isolate) |
| 770 : TurboFanCodeStub(isolate) {} | 783 : TurboFanCodeStub(isolate) {} |
| 771 | 784 |
| 772 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 785 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 773 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(SubtractWithFeedback, | 786 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(SubtractWithFeedback, |
| 774 TurboFanCodeStub); | 787 TurboFanCodeStub); |
| 775 }; | 788 }; |
| 776 | 789 |
| 777 class MultiplyStub final : public TurboFanCodeStub { | 790 class MultiplyStub final : public TurboFanCodeStub { |
| 778 public: | 791 public: |
| 779 explicit MultiplyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 792 explicit MultiplyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 780 | 793 |
| 781 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 794 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 782 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Multiply, TurboFanCodeStub); | 795 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Multiply, TurboFanCodeStub); |
| 783 }; | 796 }; |
| 784 | 797 |
| 798 class MultiplyWithFeedbackStub final : public TurboFanCodeStub { |
| 799 public: |
| 800 explicit MultiplyWithFeedbackStub(Isolate* isolate) |
| 801 : TurboFanCodeStub(isolate) {} |
| 802 |
| 803 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 804 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(MultiplyWithFeedback, |
| 805 TurboFanCodeStub); |
| 806 }; |
| 807 |
| 785 class DivideStub final : public TurboFanCodeStub { | 808 class DivideStub final : public TurboFanCodeStub { |
| 786 public: | 809 public: |
| 787 explicit DivideStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 810 explicit DivideStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 788 | 811 |
| 789 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 812 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 790 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Divide, TurboFanCodeStub); | 813 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Divide, TurboFanCodeStub); |
| 791 }; | 814 }; |
| 792 | 815 |
| 816 class DivideWithFeedbackStub final : public TurboFanCodeStub { |
| 817 public: |
| 818 explicit DivideWithFeedbackStub(Isolate* isolate) |
| 819 : TurboFanCodeStub(isolate) {} |
| 820 |
| 821 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 822 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(DivideWithFeedback, |
| 823 TurboFanCodeStub); |
| 824 }; |
| 825 |
| 793 class ModulusStub final : public TurboFanCodeStub { | 826 class ModulusStub final : public TurboFanCodeStub { |
| 794 public: | 827 public: |
| 795 explicit ModulusStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 828 explicit ModulusStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 796 | 829 |
| 797 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 830 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 798 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Modulus, TurboFanCodeStub); | 831 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Modulus, TurboFanCodeStub); |
| 799 }; | 832 }; |
| 800 | 833 |
| 834 class ModulusWithFeedbackStub final : public TurboFanCodeStub { |
| 835 public: |
| 836 explicit ModulusWithFeedbackStub(Isolate* isolate) |
| 837 : TurboFanCodeStub(isolate) {} |
| 838 |
| 839 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 840 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB_WITH_FEEDBACK(ModulusWithFeedback, |
| 841 TurboFanCodeStub); |
| 842 }; |
| 843 |
| 801 class ShiftRightStub final : public TurboFanCodeStub { | 844 class ShiftRightStub final : public TurboFanCodeStub { |
| 802 public: | 845 public: |
| 803 explicit ShiftRightStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} | 846 explicit ShiftRightStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
| 804 | 847 |
| 805 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); | 848 DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
| 806 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRight, TurboFanCodeStub); | 849 DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRight, TurboFanCodeStub); |
| 807 }; | 850 }; |
| 808 | 851 |
| 809 class ShiftRightLogicalStub final : public TurboFanCodeStub { | 852 class ShiftRightLogicalStub final : public TurboFanCodeStub { |
| 810 public: | 853 public: |
| (...skipping 2356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3167 #undef DEFINE_HYDROGEN_CODE_STUB | 3210 #undef DEFINE_HYDROGEN_CODE_STUB |
| 3168 #undef DEFINE_CODE_STUB | 3211 #undef DEFINE_CODE_STUB |
| 3169 #undef DEFINE_CODE_STUB_BASE | 3212 #undef DEFINE_CODE_STUB_BASE |
| 3170 | 3213 |
| 3171 extern Representation RepresentationFromType(Type* type); | 3214 extern Representation RepresentationFromType(Type* type); |
| 3172 | 3215 |
| 3173 } // namespace internal | 3216 } // namespace internal |
| 3174 } // namespace v8 | 3217 } // namespace v8 |
| 3175 | 3218 |
| 3176 #endif // V8_CODE_STUBS_H_ | 3219 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |