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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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(RegExpReplace) \ | 53 V(RegExpReplace) \ |
54 V(RegExpSplit) \ | 54 V(RegExpSplit) \ |
55 V(CopyFastSmiOrObjectElements) \ | 55 V(CopyFastSmiOrObjectElements) \ |
56 V(TransitionElementsKind) \ | 56 V(TransitionElementsKind) \ |
57 V(AllocateHeapNumber) \ | 57 V(AllocateHeapNumber) \ |
| 58 V(AllocateFloat32x4) \ |
| 59 V(AllocateInt32x4) \ |
| 60 V(AllocateUint32x4) \ |
| 61 V(AllocateBool32x4) \ |
| 62 V(AllocateInt16x8) \ |
| 63 V(AllocateUint16x8) \ |
| 64 V(AllocateBool16x8) \ |
| 65 V(AllocateInt8x16) \ |
| 66 V(AllocateUint8x16) \ |
| 67 V(AllocateBool8x16) \ |
58 V(Builtin) \ | 68 V(Builtin) \ |
59 V(ArrayConstructor) \ | 69 V(ArrayConstructor) \ |
60 V(ForEach) \ | 70 V(ForEach) \ |
61 V(ArrayNoArgumentConstructor) \ | 71 V(ArrayNoArgumentConstructor) \ |
62 V(ArraySingleArgumentConstructor) \ | 72 V(ArraySingleArgumentConstructor) \ |
63 V(ArrayNArgumentsConstructor) \ | 73 V(ArrayNArgumentsConstructor) \ |
64 V(Compare) \ | 74 V(Compare) \ |
65 V(BinaryOp) \ | 75 V(BinaryOp) \ |
66 V(BinaryOpWithAllocationSite) \ | 76 V(BinaryOpWithAllocationSite) \ |
67 V(BinaryOpWithVector) \ | 77 V(BinaryOpWithVector) \ |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 DEFINE_PARAMETERS(kObject, kMap) | 687 DEFINE_PARAMETERS(kObject, kMap) |
678 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) | 688 DECLARE_DESCRIPTOR(TransitionElementsKindDescriptor, CallInterfaceDescriptor) |
679 }; | 689 }; |
680 | 690 |
681 | 691 |
682 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { | 692 class AllocateHeapNumberDescriptor : public CallInterfaceDescriptor { |
683 public: | 693 public: |
684 DECLARE_DESCRIPTOR(AllocateHeapNumberDescriptor, CallInterfaceDescriptor) | 694 DECLARE_DESCRIPTOR(AllocateHeapNumberDescriptor, CallInterfaceDescriptor) |
685 }; | 695 }; |
686 | 696 |
| 697 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ |
| 698 class Allocate##Type##Descriptor : public CallInterfaceDescriptor { \ |
| 699 public: \ |
| 700 DECLARE_DESCRIPTOR(Allocate##Type##Descriptor, CallInterfaceDescriptor) \ |
| 701 }; |
| 702 SIMD128_TYPES(SIMD128_ALLOC_DESC) |
| 703 #undef SIMD128_ALLOC_DESC |
| 704 |
687 class BuiltinDescriptor : public CallInterfaceDescriptor { | 705 class BuiltinDescriptor : public CallInterfaceDescriptor { |
688 public: | 706 public: |
689 // TODO(ishell): Where is kFunction?? | 707 // TODO(ishell): Where is kFunction?? |
690 DEFINE_PARAMETERS(kNewTarget, kArgumentsCount) | 708 DEFINE_PARAMETERS(kNewTarget, kArgumentsCount) |
691 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(BuiltinDescriptor, | 709 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(BuiltinDescriptor, |
692 CallInterfaceDescriptor) | 710 CallInterfaceDescriptor) |
693 static const Register ArgumentsCountRegister(); | 711 static const Register ArgumentsCountRegister(); |
694 static const Register NewTargetRegister(); | 712 static const Register NewTargetRegister(); |
695 static const Register TargetRegister(); | 713 static const Register TargetRegister(); |
696 }; | 714 }; |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 } // namespace v8 | 986 } // namespace v8 |
969 | 987 |
970 | 988 |
971 #if V8_TARGET_ARCH_ARM64 | 989 #if V8_TARGET_ARCH_ARM64 |
972 #include "src/arm64/interface-descriptors-arm64.h" | 990 #include "src/arm64/interface-descriptors-arm64.h" |
973 #elif V8_TARGET_ARCH_ARM | 991 #elif V8_TARGET_ARCH_ARM |
974 #include "src/arm/interface-descriptors-arm.h" | 992 #include "src/arm/interface-descriptors-arm.h" |
975 #endif | 993 #endif |
976 | 994 |
977 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 995 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
OLD | NEW |