OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_CALL_INTERFACE_DESCRIPTOR_H_ | 5 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_ |
6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ | 6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 | 10 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 V(ApiAccessor) \ | 72 V(ApiAccessor) \ |
73 V(ApiGetter) \ | 73 V(ApiGetter) \ |
74 V(LoadGlobalViaContext) \ | 74 V(LoadGlobalViaContext) \ |
75 V(StoreGlobalViaContext) \ | 75 V(StoreGlobalViaContext) \ |
76 V(MathPowTagged) \ | 76 V(MathPowTagged) \ |
77 V(MathPowInteger) \ | 77 V(MathPowInteger) \ |
78 V(ContextOnly) \ | 78 V(ContextOnly) \ |
79 V(GrowArrayElements) \ | 79 V(GrowArrayElements) \ |
80 V(InterpreterDispatch) \ | 80 V(InterpreterDispatch) \ |
81 V(InterpreterPushArgsAndCall) \ | 81 V(InterpreterPushArgsAndCall) \ |
82 V(InterpreterPushArgsAndCallIC) \ | |
83 V(InterpreterPushArgsAndConstruct) \ | 82 V(InterpreterPushArgsAndConstruct) \ |
84 V(InterpreterCEntry) | 83 V(InterpreterCEntry) |
85 | 84 |
86 class CallInterfaceDescriptorData { | 85 class CallInterfaceDescriptorData { |
87 public: | 86 public: |
88 CallInterfaceDescriptorData() | 87 CallInterfaceDescriptorData() |
89 : register_param_count_(-1), function_type_(nullptr) {} | 88 : register_param_count_(-1), function_type_(nullptr) {} |
90 | 89 |
91 // A copy of the passed in registers and param_representations is made | 90 // A copy of the passed in registers and param_representations is made |
92 // and owned by the CallInterfaceDescriptorData. | 91 // and owned by the CallInterfaceDescriptorData. |
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 CallInterfaceDescriptor) | 757 CallInterfaceDescriptor) |
759 | 758 |
760 static const int kAccumulatorParameter = 0; | 759 static const int kAccumulatorParameter = 0; |
761 static const int kRegisterFileParameter = 1; | 760 static const int kRegisterFileParameter = 1; |
762 static const int kBytecodeOffsetParameter = 2; | 761 static const int kBytecodeOffsetParameter = 2; |
763 static const int kBytecodeArrayParameter = 3; | 762 static const int kBytecodeArrayParameter = 3; |
764 static const int kDispatchTableParameter = 4; | 763 static const int kDispatchTableParameter = 4; |
765 static const int kContextParameter = 5; | 764 static const int kContextParameter = 5; |
766 }; | 765 }; |
767 | 766 |
768 class InterpreterPushArgsAndCallICDescriptor : public CallInterfaceDescriptor { | |
769 public: | |
770 DECLARE_DESCRIPTOR(InterpreterPushArgsAndCallICDescriptor, | |
771 CallInterfaceDescriptor) | |
772 }; | |
773 | |
774 class InterpreterPushArgsAndCallDescriptor : public CallInterfaceDescriptor { | 767 class InterpreterPushArgsAndCallDescriptor : public CallInterfaceDescriptor { |
775 public: | 768 public: |
776 DECLARE_DESCRIPTOR(InterpreterPushArgsAndCallDescriptor, | 769 DECLARE_DESCRIPTOR(InterpreterPushArgsAndCallDescriptor, |
777 CallInterfaceDescriptor) | 770 CallInterfaceDescriptor) |
778 }; | 771 }; |
779 | 772 |
| 773 |
780 class InterpreterPushArgsAndConstructDescriptor | 774 class InterpreterPushArgsAndConstructDescriptor |
781 : public CallInterfaceDescriptor { | 775 : public CallInterfaceDescriptor { |
782 public: | 776 public: |
783 DECLARE_DESCRIPTOR(InterpreterPushArgsAndConstructDescriptor, | 777 DECLARE_DESCRIPTOR(InterpreterPushArgsAndConstructDescriptor, |
784 CallInterfaceDescriptor) | 778 CallInterfaceDescriptor) |
785 }; | 779 }; |
786 | 780 |
787 | 781 |
788 class InterpreterCEntryDescriptor : public CallInterfaceDescriptor { | 782 class InterpreterCEntryDescriptor : public CallInterfaceDescriptor { |
789 public: | 783 public: |
(...skipping 13 matching lines...) Expand all Loading... |
803 } // namespace v8 | 797 } // namespace v8 |
804 | 798 |
805 | 799 |
806 #if V8_TARGET_ARCH_ARM64 | 800 #if V8_TARGET_ARCH_ARM64 |
807 #include "src/arm64/interface-descriptors-arm64.h" | 801 #include "src/arm64/interface-descriptors-arm64.h" |
808 #elif V8_TARGET_ARCH_ARM | 802 #elif V8_TARGET_ARCH_ARM |
809 #include "src/arm/interface-descriptors-arm.h" | 803 #include "src/arm/interface-descriptors-arm.h" |
810 #endif | 804 #endif |
811 | 805 |
812 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 806 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |