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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 V(Builtin) \ | 66 V(Builtin) \ |
67 V(ArrayNoArgumentConstructor) \ | 67 V(ArrayNoArgumentConstructor) \ |
68 V(ArraySingleArgumentConstructor) \ | 68 V(ArraySingleArgumentConstructor) \ |
69 V(ArrayNArgumentsConstructor) \ | 69 V(ArrayNArgumentsConstructor) \ |
70 V(Compare) \ | 70 V(Compare) \ |
71 V(BinaryOp) \ | 71 V(BinaryOp) \ |
72 V(BinaryOpWithAllocationSite) \ | 72 V(BinaryOpWithAllocationSite) \ |
73 V(BinaryOpWithVector) \ | 73 V(BinaryOpWithVector) \ |
74 V(CountOp) \ | 74 V(CountOp) \ |
75 V(StringAdd) \ | 75 V(StringAdd) \ |
| 76 V(StringCharAt) \ |
76 V(StringCompare) \ | 77 V(StringCompare) \ |
77 V(SubString) \ | 78 V(SubString) \ |
78 V(Keyed) \ | 79 V(Keyed) \ |
79 V(Named) \ | 80 V(Named) \ |
80 V(HasProperty) \ | 81 V(HasProperty) \ |
81 V(ForInFilter) \ | 82 V(ForInFilter) \ |
82 V(GetProperty) \ | 83 V(GetProperty) \ |
83 V(CallHandler) \ | 84 V(CallHandler) \ |
84 V(ArgumentAdaptor) \ | 85 V(ArgumentAdaptor) \ |
85 V(ApiCallback) \ | 86 V(ApiCallback) \ |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 public: | 683 public: |
683 DECLARE_DESCRIPTOR(CountOpDescriptor, CallInterfaceDescriptor) | 684 DECLARE_DESCRIPTOR(CountOpDescriptor, CallInterfaceDescriptor) |
684 }; | 685 }; |
685 | 686 |
686 class StringAddDescriptor : public CallInterfaceDescriptor { | 687 class StringAddDescriptor : public CallInterfaceDescriptor { |
687 public: | 688 public: |
688 DEFINE_PARAMETERS(kLeft, kRight) | 689 DEFINE_PARAMETERS(kLeft, kRight) |
689 DECLARE_DESCRIPTOR(StringAddDescriptor, CallInterfaceDescriptor) | 690 DECLARE_DESCRIPTOR(StringAddDescriptor, CallInterfaceDescriptor) |
690 }; | 691 }; |
691 | 692 |
| 693 class StringCharAtDescriptor final : public CallInterfaceDescriptor { |
| 694 public: |
| 695 DEFINE_PARAMETERS(kReceiver, kPosition) |
| 696 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StringCharAtDescriptor, |
| 697 CallInterfaceDescriptor) |
| 698 }; |
692 | 699 |
693 class StringCompareDescriptor : public CallInterfaceDescriptor { | 700 class StringCompareDescriptor : public CallInterfaceDescriptor { |
694 public: | 701 public: |
695 DEFINE_PARAMETERS(kLeft, kRight) | 702 DEFINE_PARAMETERS(kLeft, kRight) |
696 DECLARE_DESCRIPTOR(StringCompareDescriptor, CallInterfaceDescriptor) | 703 DECLARE_DESCRIPTOR(StringCompareDescriptor, CallInterfaceDescriptor) |
697 | 704 |
698 static const Register LeftRegister(); | 705 static const Register LeftRegister(); |
699 static const Register RightRegister(); | 706 static const Register RightRegister(); |
700 }; | 707 }; |
701 | 708 |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 } // namespace v8 | 867 } // namespace v8 |
861 | 868 |
862 | 869 |
863 #if V8_TARGET_ARCH_ARM64 | 870 #if V8_TARGET_ARCH_ARM64 |
864 #include "src/arm64/interface-descriptors-arm64.h" | 871 #include "src/arm64/interface-descriptors-arm64.h" |
865 #elif V8_TARGET_ARCH_ARM | 872 #elif V8_TARGET_ARCH_ARM |
866 #include "src/arm/interface-descriptors-arm.h" | 873 #include "src/arm/interface-descriptors-arm.h" |
867 #endif | 874 #endif |
868 | 875 |
869 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 876 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |