| Index: src/interface-descriptors.h
|
| diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
|
| index 87f0d82db660132a901482d982aecdaffdfe7288..4a42862afa0b678969684db02a849b7683271abf 100644
|
| --- a/src/interface-descriptors.h
|
| +++ b/src/interface-descriptors.h
|
| @@ -54,6 +54,7 @@
|
| V(Builtin) \
|
| V(ArrayConstructor) \
|
| V(IteratingArrayBuiltin) \
|
| + V(IteratingArrayBuiltinLoopContinuation) \
|
| V(ArrayNoArgumentConstructor) \
|
| V(ArraySingleArgumentConstructor) \
|
| V(ArrayNArgumentsConstructor) \
|
| @@ -225,25 +226,15 @@
|
| } \
|
| static inline CallDescriptors::Key key();
|
|
|
| -static const int kMaxBuiltinRegisterParams = 5;
|
| -
|
| -#define DECLARE_DEFAULT_DESCRIPTOR(name, base, parameter_count) \
|
| - DECLARE_DESCRIPTOR_WITH_BASE(name, base) \
|
| - protected: \
|
| - static const int kRegisterParams = \
|
| - parameter_count > kMaxBuiltinRegisterParams ? kMaxBuiltinRegisterParams \
|
| - : parameter_count; \
|
| - static const int kStackParams = parameter_count - kRegisterParams; \
|
| - void InitializePlatformSpecific(CallInterfaceDescriptorData* data) \
|
| - override { \
|
| - DefaultInitializePlatformSpecific(data, kRegisterParams); \
|
| - } \
|
| - void InitializePlatformIndependent(CallInterfaceDescriptorData* data) \
|
| - override { \
|
| - data->InitializePlatformIndependent(kRegisterParams, kStackParams, NULL); \
|
| - } \
|
| - name(Isolate* isolate, CallDescriptors::Key key) : base(isolate, key) {} \
|
| - \
|
| +#define DECLARE_DEFAULT_DESCRIPTOR(name, base, parameter_count) \
|
| + DECLARE_DESCRIPTOR_WITH_BASE(name, base) \
|
| + protected: \
|
| + void InitializePlatformSpecific(CallInterfaceDescriptorData* data) \
|
| + override { \
|
| + DefaultInitializePlatformSpecific(data, parameter_count); \
|
| + } \
|
| + name(Isolate* isolate, CallDescriptors::Key key) : base(isolate, key) {} \
|
| + \
|
| public:
|
|
|
| #define DECLARE_DESCRIPTOR(name, base) \
|
| @@ -651,6 +642,14 @@
|
| DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinDescriptor)
|
| };
|
|
|
| +class IteratingArrayBuiltinLoopContinuationDescriptor
|
| + : public BuiltinDescriptor {
|
| + public:
|
| + DEFINE_BUILTIN_PARAMETERS(kCallback, kThisArg, kArray, kObject, kInitialK,
|
| + kLength, kTo)
|
| + DECLARE_BUILTIN_DESCRIPTOR(IteratingArrayBuiltinLoopContinuationDescriptor)
|
| +};
|
| +
|
| class ArrayConstructorDescriptor : public CallInterfaceDescriptor {
|
| public:
|
| DEFINE_PARAMETERS(kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite)
|
|
|