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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 V(CreateAllocationSite) \ | 42 V(CreateAllocationSite) \ |
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) \ | |
53 V(TransitionElementsKind) \ | 52 V(TransitionElementsKind) \ |
54 V(AllocateHeapNumber) \ | 53 V(AllocateHeapNumber) \ |
55 V(Builtin) \ | 54 V(Builtin) \ |
56 V(ArrayConstructor) \ | 55 V(ArrayConstructor) \ |
57 V(IteratingArrayBuiltin) \ | 56 V(IteratingArrayBuiltin) \ |
58 V(IteratingArrayBuiltinLoopContinuation) \ | 57 V(IteratingArrayBuiltinLoopContinuation) \ |
59 V(ArrayNoArgumentConstructor) \ | 58 V(ArrayNoArgumentConstructor) \ |
60 V(ArraySingleArgumentConstructor) \ | 59 V(ArraySingleArgumentConstructor) \ |
61 V(ArrayNArgumentsConstructor) \ | 60 V(ArrayNArgumentsConstructor) \ |
62 V(Compare) \ | 61 V(Compare) \ |
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 DEFINE_PARAMETERS(kTarget, kActualArgumentsCount, kSlot) | 605 DEFINE_PARAMETERS(kTarget, kActualArgumentsCount, kSlot) |
607 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(CallICTrampolineDescriptor, | 606 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(CallICTrampolineDescriptor, |
608 CallInterfaceDescriptor) | 607 CallInterfaceDescriptor) |
609 }; | 608 }; |
610 | 609 |
611 class CallConstructDescriptor : public CallInterfaceDescriptor { | 610 class CallConstructDescriptor : public CallInterfaceDescriptor { |
612 public: | 611 public: |
613 DECLARE_DESCRIPTOR(CallConstructDescriptor, CallInterfaceDescriptor) | 612 DECLARE_DESCRIPTOR(CallConstructDescriptor, CallInterfaceDescriptor) |
614 }; | 613 }; |
615 | 614 |
616 class RegExpExecDescriptor : public CallInterfaceDescriptor { | |
617 public: | |
618 DEFINE_PARAMETERS(kString, kLastIndex, kStringStart, kStringEnd, kCode) | |
619 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, | |
620 CallInterfaceDescriptor) | |
621 | |
622 static const Register StringRegister(); | |
623 static const Register LastIndexRegister(); | |
624 static const Register StringStartRegister(); | |
625 static const Register StringEndRegister(); | |
626 static const Register CodeRegister(); | |
627 }; | |
628 | |
629 class TransitionElementsKindDescriptor : public CallInterfaceDescriptor { | 615 class TransitionElementsKindDescriptor : public CallInterfaceDescriptor { |
630 public: | 616 public: |
631 DEFINE_PARAMETERS(kObject, kMap) | 617 DEFINE_PARAMETERS(kObject, kMap) |
632 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) | 618 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) |
633 }; | 619 }; |
634 | 620 |
635 | 621 |
636 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { | 622 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { |
637 public: | 623 public: |
638 DEFINE_EMPTY_PARAMETERS() | 624 DEFINE_EMPTY_PARAMETERS() |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 } // namespace v8 | 900 } // namespace v8 |
915 | 901 |
916 | 902 |
917 #if V8_TARGET_ARCH_ARM64 | 903 #if V8_TARGET_ARCH_ARM64 |
918 #include "src/arm64/interface-descriptors-arm64.h" | 904 #include "src/arm64/interface-descriptors-arm64.h" |
919 #elif V8_TARGET_ARCH_ARM | 905 #elif V8_TARGET_ARCH_ARM |
920 #include "src/arm/interface-descriptors-arm.h" | 906 #include "src/arm/interface-descriptors-arm.h" |
921 #endif | 907 #endif |
922 | 908 |
923 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 909 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |