Chromium Code Reviews| 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 50 V(ConstructStub) \ | 50 V(ConstructStub) \ |
| 51 V(ConstructTrampoline) \ | 51 V(ConstructTrampoline) \ |
| 52 V(RegExpExec) \ | 52 V(RegExpExec) \ |
| 53 V(RegExpPrototypeExecSlow) \ | 53 V(RegExpPrototypeExecSlow) \ |
| 54 V(RegExpReplace) \ | 54 V(RegExpReplace) \ |
| 55 V(RegExpSplit) \ | 55 V(RegExpSplit) \ |
| 56 V(CopyFastSmiOrObjectElements) \ | 56 V(CopyFastSmiOrObjectElements) \ |
| 57 V(TransitionElementsKind) \ | 57 V(TransitionElementsKind) \ |
| 58 V(AllocateHeapNumber) \ | 58 V(AllocateHeapNumber) \ |
| 59 V(Builtin) \ | 59 V(Builtin) \ |
| 60 V(ArrayFilter) \ | |
| 60 V(ArrayConstructor) \ | 61 V(ArrayConstructor) \ |
| 61 V(IteratingArrayBuiltin) \ | 62 V(IteratingArrayBuiltin) \ |
| 62 V(IteratingArrayBuiltinLoopContinuation) \ | 63 V(IteratingArrayBuiltinLoopContinuation) \ |
| 63 V(ArrayNoArgumentConstructor) \ | 64 V(ArrayNoArgumentConstructor) \ |
| 64 V(ArraySingleArgumentConstructor) \ | 65 V(ArraySingleArgumentConstructor) \ |
| 65 V(ArrayNArgumentsConstructor) \ | 66 V(ArrayNArgumentsConstructor) \ |
| 66 V(Compare) \ | 67 V(Compare) \ |
| 67 V(BinaryOp) \ | 68 V(BinaryOp) \ |
| 68 V(BinaryOpWithAllocationSite) \ | 69 V(BinaryOpWithAllocationSite) \ |
| 69 V(BinaryOpWithVector) \ | 70 V(BinaryOpWithVector) \ |
| (...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 717 }; | 718 }; |
| 718 | 719 |
| 719 class IteratingArrayBuiltinLoopContinuationDescriptor | 720 class IteratingArrayBuiltinLoopContinuationDescriptor |
| 720 : public BuiltinDescriptor { | 721 : public BuiltinDescriptor { |
| 721 public: | 722 public: |
| 722 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg, kArray, kObject, kInitialK, | 723 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg, kArray, kObject, kInitialK, |
| 723 kLength) | 724 kLength) |
| 724 DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinLoopContinuationDescriptor) | 725 DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinLoopContinuationDescriptor) |
| 725 }; | 726 }; |
| 726 | 727 |
| 728 // TODO(mvstanton): It's the same as ForEach and some other array descriptors. | |
| 729 // Sharing is probably better. | |
| 730 class ArrayFilterDescriptor : public BuiltinDescriptor { | |
|
danno
2017/03/20 16:58:38
I don't think you need this at all anymore....
mvstanton
2017/03/20 22:08:31
Done.
| |
| 731 public: | |
| 732 DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg) | |
| 733 DECLARE_BUILTIN_DESCRIPTOR(ArrayFilterDescriptor) | |
| 734 }; | |
| 735 | |
| 727 class ArrayConstructorDescriptor : public CallInterfaceDescriptor { | 736 class ArrayConstructorDescriptor : public CallInterfaceDescriptor { |
| 728 public: | 737 public: |
| 729 DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite) | 738 DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite) |
| 730 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArrayConstructorDescriptor, | 739 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(ArrayConstructorDescriptor, |
| 731 CallInterfaceDescriptor) | 740 CallInterfaceDescriptor) |
| 732 }; | 741 }; |
| 733 | 742 |
| 734 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { | 743 class ArrayNoArgumentConstructorDescriptor : public CallInterfaceDescriptor { |
| 735 public: | 744 public: |
| 736 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, | 745 DEFINE_PARAMETERS(kFunction, kAllocationSite, kActualArgumentsCount, |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 997 } // namespace v8 | 1006 } // namespace v8 |
| 998 | 1007 |
| 999 | 1008 |
| 1000 #if V8_TARGET_ARCH_ARM64 | 1009 #if V8_TARGET_ARCH_ARM64 |
| 1001 #include "src/arm64/interface-descriptors-arm64.h" | 1010 #include "src/arm64/interface-descriptors-arm64.h" |
| 1002 #elif V8_TARGET_ARCH_ARM | 1011 #elif V8_TARGET_ARCH_ARM |
| 1003 #include "src/arm/interface-descriptors-arm.h" | 1012 #include "src/arm/interface-descriptors-arm.h" |
| 1004 #endif | 1013 #endif |
| 1005 | 1014 |
| 1006 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ | 1015 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ |
| OLD | NEW |