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