| 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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(Builtin) \ | 58 V(Builtin) \ |
| 59 V(ArrayFilter) \ |
| 59 V(ArrayConstructor) \ | 60 V(ArrayConstructor) \ |
| 60 V(IteratingArrayBuiltin) \ | 61 V(IteratingArrayBuiltin) \ |
| 61 V(IteratingArrayBuiltinLoopContinuation) \ | 62 V(IteratingArrayBuiltinLoopContinuation) \ |
| 62 V(ArrayNoArgumentConstructor) \ | 63 V(ArrayNoArgumentConstructor) \ |
| 63 V(ArraySingleArgumentConstructor) \ | 64 V(ArraySingleArgumentConstructor) \ |
| 64 V(ArrayNArgumentsConstructor) \ | 65 V(ArrayNArgumentsConstructor) \ |
| 65 V(Compare) \ | 66 V(Compare) \ |
| 66 V(BinaryOp) \ | 67 V(BinaryOp) \ |
| 67 V(BinaryOpWithAllocationSite) \ | 68 V(BinaryOpWithAllocationSite) \ |
| 68 V(BinaryOpWithVector) \ | 69 V(BinaryOpWithVector) \ |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 }; | 710 }; |
| 710 | 711 |
| 711 class IteratingArrayBuiltinLoopContinuationDescriptor | 712 class IteratingArrayBuiltinLoopContinuationDescriptor |
| 712 : public BuiltinDescriptor { | 713 : public BuiltinDescriptor { |
| 713 public: | 714 public: |
| 714 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg, kArray, kObject, kInitialK, | 715 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg, kArray, kObject, kInitialK, |
| 715 kLength) | 716 kLength) |
| 716 DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinLoopContinuationDescriptor) | 717 DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinLoopContinuationDescriptor) |
| 717 }; | 718 }; |
| 718 | 719 |
| 720 // TODO(mvstanton): It's the same as ForEach and some other array descriptors. |
| 721 // Sharing is probably better. |
| 722 class ArrayFilterDescriptor : public BuiltinDescriptor { |
| 723 public: |
| 724 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg) |
| 725 DECLARE_BUILTIN_DESCRIPTOR(ArrayFilterDescriptor) |
| 726 }; |
| 727 |
| 719 class ArrayConstructorDescriptor : public CallInterfaceDescriptor { | 728 class ArrayConstructorDescriptor : public CallInterfaceDescriptor { |
| 720 public: | 729 public: |
| 721 DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite) | 730 DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite) |
| 722 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArrayConstructorDescriptor, | 731 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArrayConstructorDescriptor, |
| 723 CallInterfaceDescriptor) | 732 CallInterfaceDescriptor) |
| 724 }; | 733 }; |
| 725 | 734 |
| 726 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { | 735 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { |
| 727 public: | 736 public: |
| 728 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, | 737 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 989 } // namespace v8 | 998 } // namespace v8 |
| 990 | 999 |
| 991 | 1000 |
| 992 #if V8_TARGET_ARCH_ARM64 | 1001 #if V8_TARGET_ARCH_ARM64 |
| 993 #include "src/arm64/interface-descriptors-arm64.h" | 1002 #include "src/arm64/interface-descriptors-arm64.h" |
| 994 #elif V8_TARGET_ARCH_ARM | 1003 #elif V8_TARGET_ARCH_ARM |
| 995 #include "src/arm/interface-descriptors-arm.h" | 1004 #include "src/arm/interface-descriptors-arm.h" |
| 996 #endif | 1005 #endif |
| 997 | 1006 |
| 998 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 1007 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
| OLD | NEW |