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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 V(AllocateFloat32x4) \ | 55 V(AllocateFloat32x4) \ |
56 V(AllocateInt32x4) \ | 56 V(AllocateInt32x4) \ |
57 V(AllocateUint32x4) \ | 57 V(AllocateUint32x4) \ |
58 V(AllocateBool32x4) \ | 58 V(AllocateBool32x4) \ |
59 V(AllocateInt16x8) \ | 59 V(AllocateInt16x8) \ |
60 V(AllocateUint16x8) \ | 60 V(AllocateUint16x8) \ |
61 V(AllocateBool16x8) \ | 61 V(AllocateBool16x8) \ |
62 V(AllocateInt8x16) \ | 62 V(AllocateInt8x16) \ |
63 V(AllocateUint8x16) \ | 63 V(AllocateUint8x16) \ |
64 V(AllocateBool8x16) \ | 64 V(AllocateBool8x16) \ |
| 65 V(Builtin) \ |
65 V(ArrayNoArgumentConstructor) \ | 66 V(ArrayNoArgumentConstructor) \ |
66 V(ArraySingleArgumentConstructor) \ | 67 V(ArraySingleArgumentConstructor) \ |
67 V(ArrayNArgumentsConstructor) \ | 68 V(ArrayNArgumentsConstructor) \ |
68 V(Compare) \ | 69 V(Compare) \ |
69 V(BinaryOp) \ | 70 V(BinaryOp) \ |
70 V(BinaryOpWithAllocationSite) \ | 71 V(BinaryOpWithAllocationSite) \ |
71 V(BinaryOpWithVector) \ | 72 V(BinaryOpWithVector) \ |
72 V(CountOp) \ | 73 V(CountOp) \ |
73 V(StringAdd) \ | 74 V(StringAdd) \ |
74 V(StringCompare) \ | 75 V(StringCompare) \ |
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 }; | 591 }; |
591 | 592 |
592 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ | 593 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ |
593 class Allocate##Type##Descriptor : public CallInterfaceDescriptor { \ | 594 class Allocate##Type##Descriptor : public CallInterfaceDescriptor { \ |
594 public: \ | 595 public: \ |
595 DECLARE_DESCRIPTOR(Allocate##Type##Descriptor, CallInterfaceDescriptor) \ | 596 DECLARE_DESCRIPTOR(Allocate##Type##Descriptor, CallInterfaceDescriptor) \ |
596 }; | 597 }; |
597 SIMD128_TYPES(SIMD128_ALLOC_DESC) | 598 SIMD128_TYPES(SIMD128_ALLOC_DESC) |
598 #undef SIMD128_ALLOC_DESC | 599 #undef SIMD128_ALLOC_DESC |
599 | 600 |
| 601 class BuiltinDescriptor : public CallInterfaceDescriptor { |
| 602 public: |
| 603 DEFINE_PARAMETERS(kNewTarget, kArgumentsCount) |
| 604 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(BuiltinDescriptor, |
| 605 CallInterfaceDescriptor) |
| 606 static const Register ArgumentsCountRegister(); |
| 607 static const Register NewTargetRegister(); |
| 608 }; |
| 609 |
600 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { | 610 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { |
601 public: | 611 public: |
602 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, | 612 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, |
603 kFunctionParameter) | 613 kFunctionParameter) |
604 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( | 614 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( |
605 ArrayNoArgumentConstructorDescriptor, CallInterfaceDescriptor) | 615 ArrayNoArgumentConstructorDescriptor, CallInterfaceDescriptor) |
606 }; | 616 }; |
607 | 617 |
608 class ArraySingleArgumentConstructorDescriptor | 618 class ArraySingleArgumentConstructorDescriptor |
609 : public CallInterfaceDescriptor { | 619 : public CallInterfaceDescriptor { |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
817 } // namespace v8 | 827 } // namespace v8 |
818 | 828 |
819 | 829 |
820 #if V8_TARGET_ARCH_ARM64 | 830 #if V8_TARGET_ARCH_ARM64 |
821 #include "src/arm64/interface-descriptors-arm64.h" | 831 #include "src/arm64/interface-descriptors-arm64.h" |
822 #elif V8_TARGET_ARCH_ARM | 832 #elif V8_TARGET_ARCH_ARM |
823 #include "src/arm/interface-descriptors-arm.h" | 833 #include "src/arm/interface-descriptors-arm.h" |
824 #endif | 834 #endif |
825 | 835 |
826 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 836 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |