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) \ |
53 V(RegExpReplace) \ | 54 V(RegExpReplace) \ |
54 V(RegExpSplit) \ | 55 V(RegExpSplit) \ |
55 V(CopyFastSmiOrObjectElements) \ | 56 V(CopyFastSmiOrObjectElements) \ |
56 V(TransitionElementsKind) \ | 57 V(TransitionElementsKind) \ |
57 V(AllocateHeapNumber) \ | 58 V(AllocateHeapNumber) \ |
58 V(Builtin) \ | 59 V(Builtin) \ |
59 V(ArrayConstructor) \ | 60 V(ArrayConstructor) \ |
60 V(IteratingArrayBuiltin) \ | 61 V(IteratingArrayBuiltin) \ |
61 V(IteratingArrayBuiltinLoopContinuation) \ | 62 V(IteratingArrayBuiltinLoopContinuation) \ |
62 V(ArrayNoArgumentConstructor) \ | 63 V(ArrayNoArgumentConstructor) \ |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
651 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, | 652 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, |
652 CallInterfaceDescriptor) | 653 CallInterfaceDescriptor) |
653 | 654 |
654 static const Register StringRegister(); | 655 static const Register StringRegister(); |
655 static const Register LastIndexRegister(); | 656 static const Register LastIndexRegister(); |
656 static const Register StringStartRegister(); | 657 static const Register StringStartRegister(); |
657 static const Register StringEndRegister(); | 658 static const Register StringEndRegister(); |
658 static const Register CodeRegister(); | 659 static const Register CodeRegister(); |
659 }; | 660 }; |
660 | 661 |
| 662 class RegExpPrototypeExecSlowDescriptor : public CallInterfaceDescriptor { |
| 663 public: |
| 664 DEFINE_PARAMETERS(kReceiver, kString) |
| 665 DECLARE_DEFAULT_DESCRIPTOR(RegExpPrototypeExecSlowDescriptor, |
| 666 CallInterfaceDescriptor, kParameterCount) |
| 667 }; |
| 668 |
661 class RegExpReplaceDescriptor : public CallInterfaceDescriptor { | 669 class RegExpReplaceDescriptor : public CallInterfaceDescriptor { |
662 public: | 670 public: |
663 DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) | 671 DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) |
664 DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, | 672 DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, |
665 kParameterCount) | 673 kParameterCount) |
666 }; | 674 }; |
667 | 675 |
668 class RegExpSplitDescriptor : public CallInterfaceDescriptor { | 676 class RegExpSplitDescriptor : public CallInterfaceDescriptor { |
669 public: | 677 public: |
670 DEFINE_PARAMETERS(kReceiver, kString, kLimit) | 678 DEFINE_PARAMETERS(kReceiver, kString, kLimit) |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 } // namespace v8 | 997 } // namespace v8 |
990 | 998 |
991 | 999 |
992 #if V8_TARGET_ARCH_ARM64 | 1000 #if V8_TARGET_ARCH_ARM64 |
993 #include "src/arm64/interface-descriptors-arm64.h" | 1001 #include "src/arm64/interface-descriptors-arm64.h" |
994 #elif V8_TARGET_ARCH_ARM | 1002 #elif V8_TARGET_ARCH_ARM |
995 #include "src/arm/interface-descriptors-arm.h" | 1003 #include "src/arm/interface-descriptors-arm.h" |
996 #endif | 1004 #endif |
997 | 1005 |
998 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 1006 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |