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 <memory> | 8 #include <memory> |
9 | 9 |
10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 V(CreateWeakCell) \ | 43 V(CreateWeakCell) \ |
44 V(CallFunction) \ | 44 V(CallFunction) \ |
45 V(CallIC) \ | 45 V(CallIC) \ |
46 V(CallICTrampoline) \ | 46 V(CallICTrampoline) \ |
47 V(CallForwardVarargs) \ | 47 V(CallForwardVarargs) \ |
48 V(CallConstruct) \ | 48 V(CallConstruct) \ |
49 V(CallTrampoline) \ | 49 V(CallTrampoline) \ |
50 V(ConstructStub) \ | 50 V(ConstructStub) \ |
51 V(ConstructTrampoline) \ | 51 V(ConstructTrampoline) \ |
52 V(RegExpExec) \ | 52 V(RegExpExec) \ |
53 V(RegExpPrototypeExecSlow) \ | |
54 V(RegExpReplace) \ | |
55 V(RegExpSplit) \ | |
56 V(CopyFastSmiOrObjectElements) \ | |
57 V(TransitionElementsKind) \ | 53 V(TransitionElementsKind) \ |
58 V(AllocateHeapNumber) \ | 54 V(AllocateHeapNumber) \ |
59 V(Builtin) \ | 55 V(Builtin) \ |
60 V(ArrayConstructor) \ | 56 V(ArrayConstructor) \ |
61 V(IteratingArrayBuiltin) \ | 57 V(IteratingArrayBuiltin) \ |
62 V(IteratingArrayBuiltinLoopContinuation) \ | 58 V(IteratingArrayBuiltinLoopContinuation) \ |
63 V(ArrayNoArgumentConstructor) \ | 59 V(ArrayNoArgumentConstructor) \ |
64 V(ArraySingleArgumentConstructor) \ | 60 V(ArraySingleArgumentConstructor) \ |
65 V(ArrayNArgumentsConstructor) \ | 61 V(ArrayNArgumentsConstructor) \ |
66 V(Compare) \ | 62 V(Compare) \ |
67 V(BinaryOp) \ | 63 V(BinaryOp) \ |
68 V(BinaryOpWithAllocationSite) \ | 64 V(BinaryOpWithAllocationSite) \ |
69 V(BinaryOpWithVector) \ | 65 V(BinaryOpWithVector) \ |
70 V(CountOp) \ | 66 V(CountOp) \ |
71 V(StringAdd) \ | 67 V(StringAdd) \ |
72 V(StringCharAt) \ | 68 V(StringCharAt) \ |
73 V(StringCharCodeAt) \ | 69 V(StringCharCodeAt) \ |
74 V(StringCompare) \ | 70 V(StringCompare) \ |
75 V(StringIndexOf) \ | |
76 V(SubString) \ | 71 V(SubString) \ |
77 V(Keyed) \ | |
78 V(Named) \ | |
79 V(CreateIterResultObject) \ | |
80 V(HasProperty) \ | |
81 V(ForInFilter) \ | |
82 V(ForInNext) \ | |
83 V(ForInPrepare) \ | 72 V(ForInPrepare) \ |
84 V(GetProperty) \ | 73 V(GetProperty) \ |
85 V(CallHandler) \ | |
86 V(ArgumentAdaptor) \ | 74 V(ArgumentAdaptor) \ |
87 V(ApiCallback) \ | 75 V(ApiCallback) \ |
88 V(ApiGetter) \ | 76 V(ApiGetter) \ |
89 V(MathPowTagged) \ | 77 V(MathPowTagged) \ |
90 V(MathPowInteger) \ | 78 V(MathPowInteger) \ |
91 V(GrowArrayElements) \ | 79 V(GrowArrayElements) \ |
92 V(NewArgumentsElements) \ | 80 V(NewArgumentsElements) \ |
93 V(InterpreterDispatch) \ | 81 V(InterpreterDispatch) \ |
94 V(InterpreterPushArgsAndCall) \ | 82 V(InterpreterPushArgsAndCall) \ |
95 V(InterpreterPushArgsAndConstruct) \ | 83 V(InterpreterPushArgsAndConstruct) \ |
96 V(InterpreterPushArgsAndConstructArray) \ | 84 V(InterpreterPushArgsAndConstructArray) \ |
97 V(InterpreterCEntry) \ | 85 V(InterpreterCEntry) \ |
98 V(ResumeGenerator) \ | 86 V(ResumeGenerator) \ |
99 V(FrameDropperTrampoline) \ | 87 V(FrameDropperTrampoline) \ |
100 V(PromiseHandleReject) \ | |
101 V(AsyncGeneratorResolve) \ | |
102 V(AsyncGeneratorReject) \ | |
103 V(AsyncGeneratorResumeNext) \ | |
104 V(WasmRuntimeCall) \ | 88 V(WasmRuntimeCall) \ |
105 V(ResolveNativePromise) \ | 89 BUILTIN_LIST_TFS(V) |
106 V(RejectNativePromise) \ | |
107 V(PerformNativePromiseThen) | |
108 | 90 |
109 class V8_EXPORT_PRIVATE CallInterfaceDescriptorData { | 91 class V8_EXPORT_PRIVATE CallInterfaceDescriptorData { |
110 public: | 92 public: |
111 CallInterfaceDescriptorData() : register_param_count_(-1), param_count_(-1) {} | 93 CallInterfaceDescriptorData() : register_param_count_(-1), param_count_(-1) {} |
112 | 94 |
113 // A copy of the passed in registers and param_representations is made | 95 // A copy of the passed in registers and param_representations is made |
114 // and owned by the CallInterfaceDescriptorData. | 96 // and owned by the CallInterfaceDescriptorData. |
115 | 97 |
116 void InitializePlatformSpecific( | 98 void InitializePlatformSpecific( |
117 int register_parameter_count, const Register* registers, | 99 int register_parameter_count, const Register* registers, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 137 |
156 PlatformInterfaceDescriptor* platform_specific_descriptor_; | 138 PlatformInterfaceDescriptor* platform_specific_descriptor_; |
157 | 139 |
158 DISALLOW_COPY_AND_ASSIGN(CallInterfaceDescriptorData); | 140 DISALLOW_COPY_AND_ASSIGN(CallInterfaceDescriptorData); |
159 }; | 141 }; |
160 | 142 |
161 | 143 |
162 class CallDescriptors { | 144 class CallDescriptors { |
163 public: | 145 public: |
164 enum Key { | 146 enum Key { |
165 #define DEF_ENUM(name) name, | 147 #define DEF_ENUM(name, ...) name, |
166 INTERFACE_DESCRIPTOR_LIST(DEF_ENUM) | 148 INTERFACE_DESCRIPTOR_LIST(DEF_ENUM) |
167 #undef DEF_ENUM | 149 #undef DEF_ENUM |
168 NUMBER_OF_DESCRIPTORS | 150 NUMBER_OF_DESCRIPTORS |
169 }; | 151 }; |
170 }; | 152 }; |
171 | 153 |
172 class V8_EXPORT_PRIVATE CallInterfaceDescriptor { | 154 class V8_EXPORT_PRIVATE CallInterfaceDescriptor { |
173 public: | 155 public: |
174 CallInterfaceDescriptor() : data_(NULL) {} | 156 CallInterfaceDescriptor() : data_(NULL) {} |
175 virtual ~CallInterfaceDescriptor() {} | 157 virtual ~CallInterfaceDescriptor() {} |
176 | 158 |
177 CallInterfaceDescriptor(Isolate* isolate, CallDescriptors::Key key) | 159 CallInterfaceDescriptor(Isolate* isolate, CallDescriptors::Key key) |
178 : data_(isolate->call_descriptor_data(key)) {} | 160 : data_(isolate->call_descriptor_data(key)) {} |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 }; | 491 }; |
510 | 492 |
511 class TypeConversionDescriptor final : public CallInterfaceDescriptor { | 493 class TypeConversionDescriptor final : public CallInterfaceDescriptor { |
512 public: | 494 public: |
513 DEFINE_PARAMETERS(kArgument) | 495 DEFINE_PARAMETERS(kArgument) |
514 DECLARE_DESCRIPTOR(TypeConversionDescriptor, CallInterfaceDescriptor) | 496 DECLARE_DESCRIPTOR(TypeConversionDescriptor, CallInterfaceDescriptor) |
515 | 497 |
516 static const Register ArgumentRegister(); | 498 static const Register ArgumentRegister(); |
517 }; | 499 }; |
518 | 500 |
519 class CreateIterResultObjectDescriptor final : public CallInterfaceDescriptor { | |
520 public: | |
521 DEFINE_PARAMETERS(kValue, kDone) | |
522 DECLARE_DEFAULT_DESCRIPTOR(CreateIterResultObjectDescriptor, | |
523 CallInterfaceDescriptor, kParameterCount) | |
524 }; | |
525 | |
526 class HasPropertyDescriptor final : public CallInterfaceDescriptor { | |
527 public: | |
528 DEFINE_PARAMETERS(kKey, kObject) | |
529 DECLARE_DEFAULT_DESCRIPTOR(HasPropertyDescriptor, CallInterfaceDescriptor, | |
530 kParameterCount) | |
531 }; | |
532 | |
533 class ForInFilterDescriptor final : public CallInterfaceDescriptor { | |
534 public: | |
535 DEFINE_PARAMETERS(kKey, kObject) | |
536 DECLARE_DEFAULT_DESCRIPTOR(ForInFilterDescriptor, CallInterfaceDescriptor, | |
537 kParameterCount) | |
538 }; | |
539 | |
540 class ForInNextDescriptor final : public CallInterfaceDescriptor { | |
541 public: | |
542 DEFINE_PARAMETERS(kObject, kCacheArray, kCacheType, kIndex) | |
543 DECLARE_DEFAULT_DESCRIPTOR(ForInNextDescriptor, CallInterfaceDescriptor, | |
544 kParameterCount) | |
545 }; | |
546 | |
547 class ForInPrepareDescriptor final : public CallInterfaceDescriptor { | 501 class ForInPrepareDescriptor final : public CallInterfaceDescriptor { |
548 public: | 502 public: |
549 DEFINE_PARAMETERS(kObject) | 503 DEFINE_PARAMETERS(kObject) |
550 DECLARE_DEFAULT_DESCRIPTOR(ForInPrepareDescriptor, CallInterfaceDescriptor, | 504 DECLARE_DEFAULT_DESCRIPTOR(ForInPrepareDescriptor, CallInterfaceDescriptor, |
551 kParameterCount) | 505 kParameterCount) |
552 }; | 506 }; |
553 | 507 |
554 class GetPropertyDescriptor final : public CallInterfaceDescriptor { | 508 class GetPropertyDescriptor final : public CallInterfaceDescriptor { |
555 public: | 509 public: |
556 DEFINE_PARAMETERS(kObject, kKey) | 510 DEFINE_PARAMETERS(kObject, kKey) |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, | 619 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, |
666 CallInterfaceDescriptor) | 620 CallInterfaceDescriptor) |
667 | 621 |
668 static const Register StringRegister(); | 622 static const Register StringRegister(); |
669 static const Register LastIndexRegister(); | 623 static const Register LastIndexRegister(); |
670 static const Register StringStartRegister(); | 624 static const Register StringStartRegister(); |
671 static const Register StringEndRegister(); | 625 static const Register StringEndRegister(); |
672 static const Register CodeRegister(); | 626 static const Register CodeRegister(); |
673 }; | 627 }; |
674 | 628 |
675 class RegExpPrototypeExecSlowDescriptor : public CallInterfaceDescriptor { | |
676 public: | |
677 DEFINE_PARAMETERS(kReceiver, kString) | |
678 DECLARE_DEFAULT_DESCRIPTOR(RegExpPrototypeExecSlowDescriptor, | |
679 CallInterfaceDescriptor, kParameterCount) | |
680 }; | |
681 | |
682 class RegExpReplaceDescriptor : public CallInterfaceDescriptor { | |
683 public: | |
684 DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) | |
685 DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, | |
686 kParameterCount) | |
687 }; | |
688 | |
689 class RegExpSplitDescriptor : public CallInterfaceDescriptor { | |
690 public: | |
691 DEFINE_PARAMETERS(kReceiver, kString, kLimit) | |
692 DECLARE_DEFAULT_DESCRIPTOR(RegExpSplitDescriptor, CallInterfaceDescriptor, | |
693 kParameterCount) | |
694 }; | |
695 | |
696 class CopyFastSmiOrObjectElementsDescriptor : public CallInterfaceDescriptor { | |
697 public: | |
698 DEFINE_PARAMETERS(kObject) | |
699 DECLARE_DEFAULT_DESCRIPTOR(CopyFastSmiOrObjectElementsDescriptor, | |
700 CallInterfaceDescriptor, kParameterCount) | |
701 }; | |
702 | |
703 class TransitionElementsKindDescriptor : public CallInterfaceDescriptor { | 629 class TransitionElementsKindDescriptor : public CallInterfaceDescriptor { |
704 public: | 630 public: |
705 DEFINE_PARAMETERS(kObject, kMap) | 631 DEFINE_PARAMETERS(kObject, kMap) |
706 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) | 632 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) |
707 }; | 633 }; |
708 | 634 |
709 | 635 |
710 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { | 636 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { |
711 public: | 637 public: |
712 DEFINE_EMPTY_PARAMETERS() | 638 DEFINE_EMPTY_PARAMETERS() |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 static const Register RightRegister(); | 758 static const Register RightRegister(); |
833 }; | 759 }; |
834 | 760 |
835 class SubStringDescriptor : public CallInterfaceDescriptor { | 761 class SubStringDescriptor : public CallInterfaceDescriptor { |
836 public: | 762 public: |
837 DEFINE_PARAMETERS(kString, kFrom, kTo) | 763 DEFINE_PARAMETERS(kString, kFrom, kTo) |
838 DECLARE_DESCRIPTOR_WITH_STACK_ARGS(SubStringDescriptor, | 764 DECLARE_DESCRIPTOR_WITH_STACK_ARGS(SubStringDescriptor, |
839 CallInterfaceDescriptor) | 765 CallInterfaceDescriptor) |
840 }; | 766 }; |
841 | 767 |
842 class StringIndexOfDescriptor final : public CallInterfaceDescriptor { | |
843 public: | |
844 DEFINE_PARAMETERS(kReceiver, kSearchString, kPosition) | |
845 DECLARE_DEFAULT_DESCRIPTOR(StringIndexOfDescriptor, CallInterfaceDescriptor, | |
846 kParameterCount) | |
847 }; | |
848 | |
849 // TODO(ishell): not used, remove. | |
850 class KeyedDescriptor : public CallInterfaceDescriptor { | |
851 public: | |
852 DECLARE_DESCRIPTOR(KeyedDescriptor, CallInterfaceDescriptor) | |
853 }; | |
854 | |
855 // TODO(ishell): not used, remove | |
856 class NamedDescriptor : public CallInterfaceDescriptor { | |
857 public: | |
858 DECLARE_DESCRIPTOR(NamedDescriptor, CallInterfaceDescriptor) | |
859 }; | |
860 | |
861 // TODO(ishell): not used, remove. | |
862 class CallHandlerDescriptor : public CallInterfaceDescriptor { | |
863 public: | |
864 DECLARE_DESCRIPTOR(CallHandlerDescriptor, CallInterfaceDescriptor) | |
865 }; | |
866 | |
867 | |
868 class ArgumentAdaptorDescriptor : public CallInterfaceDescriptor { | 768 class ArgumentAdaptorDescriptor : public CallInterfaceDescriptor { |
869 public: | 769 public: |
870 DEFINE_PARAMETERS(kFunction, kNewTarget, kActualArgumentsCount, | 770 DEFINE_PARAMETERS(kFunction, kNewTarget, kActualArgumentsCount, |
871 kExpectedArgumentsCount) | 771 kExpectedArgumentsCount) |
872 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArgumentAdaptorDescriptor, | 772 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArgumentAdaptorDescriptor, |
873 CallInterfaceDescriptor) | 773 CallInterfaceDescriptor) |
874 }; | 774 }; |
875 | 775 |
876 class ApiCallbackDescriptor : public CallInterfaceDescriptor { | 776 class ApiCallbackDescriptor : public CallInterfaceDescriptor { |
877 public: | 777 public: |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 class ResumeGeneratorDescriptor final : public CallInterfaceDescriptor { | 875 class ResumeGeneratorDescriptor final : public CallInterfaceDescriptor { |
976 public: | 876 public: |
977 DECLARE_DESCRIPTOR(ResumeGeneratorDescriptor, CallInterfaceDescriptor) | 877 DECLARE_DESCRIPTOR(ResumeGeneratorDescriptor, CallInterfaceDescriptor) |
978 }; | 878 }; |
979 | 879 |
980 class FrameDropperTrampolineDescriptor final : public CallInterfaceDescriptor { | 880 class FrameDropperTrampolineDescriptor final : public CallInterfaceDescriptor { |
981 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FrameDropperTrampolineDescriptor, | 881 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(FrameDropperTrampolineDescriptor, |
982 CallInterfaceDescriptor) | 882 CallInterfaceDescriptor) |
983 }; | 883 }; |
984 | 884 |
985 class PromiseHandleRejectDescriptor final : public CallInterfaceDescriptor { | |
986 public: | |
987 DEFINE_PARAMETERS(kPromise, kOnReject, kException) | |
988 DECLARE_DEFAULT_DESCRIPTOR(PromiseHandleRejectDescriptor, | |
989 CallInterfaceDescriptor, kParameterCount) | |
990 }; | |
991 | |
992 class AsyncGeneratorResolveDescriptor final : public CallInterfaceDescriptor { | |
993 public: | |
994 DEFINE_PARAMETERS(kGenerator, kValue, kDone) | |
995 DECLARE_DEFAULT_DESCRIPTOR(AsyncGeneratorResolveDescriptor, | |
996 CallInterfaceDescriptor, kParameterCount) | |
997 }; | |
998 | |
999 class AsyncGeneratorRejectDescriptor final : public CallInterfaceDescriptor { | |
1000 public: | |
1001 DEFINE_PARAMETERS(kGenerator, kValue) | |
1002 DECLARE_DEFAULT_DESCRIPTOR(AsyncGeneratorRejectDescriptor, | |
1003 CallInterfaceDescriptor, kParameterCount) | |
1004 }; | |
1005 | |
1006 class AsyncGeneratorResumeNextDescriptor final | |
1007 : public CallInterfaceDescriptor { | |
1008 public: | |
1009 DEFINE_PARAMETERS(kGenerator) | |
1010 DECLARE_DEFAULT_DESCRIPTOR(AsyncGeneratorResumeNextDescriptor, | |
1011 CallInterfaceDescriptor, kParameterCount) | |
1012 }; | |
1013 | |
1014 class ResolveNativePromiseDescriptor final : public CallInterfaceDescriptor { | |
1015 public: | |
1016 DEFINE_PARAMETERS(kPromise, kValue) | |
1017 DECLARE_DEFAULT_DESCRIPTOR(ResolveNativePromiseDescriptor, | |
1018 CallInterfaceDescriptor, kParameterCount) | |
1019 }; | |
1020 | |
1021 class RejectNativePromiseDescriptor final : public CallInterfaceDescriptor { | |
1022 public: | |
1023 DEFINE_PARAMETERS(kPromise, kValue, kDebugEvent) | |
1024 DECLARE_DEFAULT_DESCRIPTOR(RejectNativePromiseDescriptor, | |
1025 CallInterfaceDescriptor, kParameterCount) | |
1026 }; | |
1027 | |
1028 class PerformNativePromiseThenDescriptor final | |
1029 : public CallInterfaceDescriptor { | |
1030 public: | |
1031 DEFINE_PARAMETERS(kPromise, kResolveReaction, kRejectReaction, kResultPromise) | |
1032 DECLARE_DEFAULT_DESCRIPTOR(PerformNativePromiseThenDescriptor, | |
1033 CallInterfaceDescriptor, kParameterCount) | |
1034 }; | |
1035 | |
1036 class WasmRuntimeCallDescriptor final : public CallInterfaceDescriptor { | 885 class WasmRuntimeCallDescriptor final : public CallInterfaceDescriptor { |
1037 public: | 886 public: |
1038 DEFINE_EMPTY_PARAMETERS() | 887 DEFINE_EMPTY_PARAMETERS() |
1039 DECLARE_DEFAULT_DESCRIPTOR(WasmRuntimeCallDescriptor, CallInterfaceDescriptor, | 888 DECLARE_DEFAULT_DESCRIPTOR(WasmRuntimeCallDescriptor, CallInterfaceDescriptor, |
1040 0) | 889 0) |
1041 }; | 890 }; |
1042 | 891 |
| 892 #define DEFINE_TFS_BUILTIN_DESCRIPTOR(Name, ...) \ |
| 893 class Name##Descriptor : public CallInterfaceDescriptor { \ |
| 894 public: \ |
| 895 DEFINE_PARAMETERS(__VA_ARGS__) \ |
| 896 DECLARE_DEFAULT_DESCRIPTOR(Name##Descriptor, CallInterfaceDescriptor, \ |
| 897 kParameterCount) \ |
| 898 }; |
| 899 BUILTIN_LIST_TFS(DEFINE_TFS_BUILTIN_DESCRIPTOR) |
| 900 #undef DEFINE_TFS_BUILTIN_DESCRIPTOR |
| 901 |
1043 #undef DECLARE_DESCRIPTOR_WITH_BASE | 902 #undef DECLARE_DESCRIPTOR_WITH_BASE |
1044 #undef DECLARE_DESCRIPTOR | 903 #undef DECLARE_DESCRIPTOR |
1045 #undef DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE | 904 #undef DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE |
1046 #undef DECLARE_DESCRIPTOR_WITH_BASE_AND_FUNCTION_TYPE_ARG | 905 #undef DECLARE_DESCRIPTOR_WITH_BASE_AND_FUNCTION_TYPE_ARG |
1047 #undef DEFINE_PARAMETERS | 906 #undef DEFINE_PARAMETERS |
1048 | 907 |
1049 // We define the association between CallDescriptors::Key and the specialized | 908 // We define the association between CallDescriptors::Key and the specialized |
1050 // descriptor here to reduce boilerplate and mistakes. | 909 // descriptor here to reduce boilerplate and mistakes. |
1051 #define DEF_KEY(name) \ | 910 #define DEF_KEY(name, ...) \ |
1052 CallDescriptors::Key name##Descriptor::key() { return CallDescriptors::name; } | 911 CallDescriptors::Key name##Descriptor::key() { return CallDescriptors::name; } |
1053 INTERFACE_DESCRIPTOR_LIST(DEF_KEY) | 912 INTERFACE_DESCRIPTOR_LIST(DEF_KEY) |
1054 #undef DEF_KEY | 913 #undef DEF_KEY |
1055 } // namespace internal | 914 } // namespace internal |
1056 } // namespace v8 | 915 } // namespace v8 |
1057 | 916 |
1058 | 917 |
1059 #if V8_TARGET_ARCH_ARM64 | 918 #if V8_TARGET_ARCH_ARM64 |
1060 #include "src/arm64/interface-descriptors-arm64.h" | 919 #include "src/arm64/interface-descriptors-arm64.h" |
1061 #elif V8_TARGET_ARCH_ARM | 920 #elif V8_TARGET_ARCH_ARM |
1062 #include "src/arm/interface-descriptors-arm.h" | 921 #include "src/arm/interface-descriptors-arm.h" |
1063 #endif | 922 #endif |
1064 | 923 |
1065 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 924 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |