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 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 CallInterfaceDescriptor) | 640 CallInterfaceDescriptor) |
641 }; | 641 }; |
642 | 642 |
643 class CallConstructDescriptor : public CallInterfaceDescriptor { | 643 class CallConstructDescriptor : public CallInterfaceDescriptor { |
644 public: | 644 public: |
645 DECLARE_DESCRIPTOR(CallConstructDescriptor, CallInterfaceDescriptor) | 645 DECLARE_DESCRIPTOR(CallConstructDescriptor, CallInterfaceDescriptor) |
646 }; | 646 }; |
647 | 647 |
648 class RegExpExecDescriptor : public CallInterfaceDescriptor { | 648 class RegExpExecDescriptor : public CallInterfaceDescriptor { |
649 public: | 649 public: |
650 DEFINE_PARAMETERS(kRegExpObject, kString, kPreviousIndex, kLastMatchInfo) | 650 DEFINE_PARAMETERS(kString, kLastIndex, kStringStart, kStringEnd, kCode) |
651 DECLARE_DESCRIPTOR_WITH_STACK_ARGS(RegExpExecDescriptor, | 651 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(RegExpExecDescriptor, |
652 CallInterfaceDescriptor) | 652 CallInterfaceDescriptor) |
| 653 |
| 654 static const Register StringRegister(); |
| 655 static const Register LastIndexRegister(); |
| 656 static const Register StringStartRegister(); |
| 657 static const Register StringEndRegister(); |
| 658 static const Register CodeRegister(); |
653 }; | 659 }; |
654 | 660 |
655 class RegExpReplaceDescriptor : public CallInterfaceDescriptor { | 661 class RegExpReplaceDescriptor : public CallInterfaceDescriptor { |
656 public: | 662 public: |
657 DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) | 663 DEFINE_PARAMETERS(kReceiver, kString, kReplaceValue) |
658 DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, | 664 DECLARE_DEFAULT_DESCRIPTOR(RegExpReplaceDescriptor, CallInterfaceDescriptor, |
659 kParameterCount) | 665 kParameterCount) |
660 }; | 666 }; |
661 | 667 |
662 class RegExpSplitDescriptor : public CallInterfaceDescriptor { | 668 class RegExpSplitDescriptor : public CallInterfaceDescriptor { |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 } // namespace v8 | 981 } // namespace v8 |
976 | 982 |
977 | 983 |
978 #if V8_TARGET_ARCH_ARM64 | 984 #if V8_TARGET_ARCH_ARM64 |
979 #include "src/arm64/interface-descriptors-arm64.h" | 985 #include "src/arm64/interface-descriptors-arm64.h" |
980 #elif V8_TARGET_ARCH_ARM | 986 #elif V8_TARGET_ARCH_ARM |
981 #include "src/arm/interface-descriptors-arm.h" | 987 #include "src/arm/interface-descriptors-arm.h" |
982 #endif | 988 #endif |
983 | 989 |
984 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 990 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |