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