| Index: src/interface-descriptors.h
|
| diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
|
| index 4a42862afa0b678969684db02a849b7683271abf..87f0d82db660132a901482d982aecdaffdfe7288 100644
|
| --- a/src/interface-descriptors.h
|
| +++ b/src/interface-descriptors.h
|
| @@ -54,7 +54,6 @@ class PlatformInterfaceDescriptor;
|
| V(Builtin) \
|
| V(ArrayConstructor) \
|
| V(IteratingArrayBuiltin) \
|
| - V(IteratingArrayBuiltinLoopContinuation) \
|
| V(ArrayNoArgumentConstructor) \
|
| V(ArraySingleArgumentConstructor) \
|
| V(ArrayNArgumentsConstructor) \
|
| @@ -226,15 +225,25 @@ class V8_EXPORT_PRIVATE CallInterfaceDescriptor {
|
| } \
|
| static inline CallDescriptors::Key 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) {} \
|
| - \
|
| +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) {} \
|
| + \
|
| public:
|
|
|
| #define DECLARE_DESCRIPTOR(name, base) \
|
| @@ -642,14 +651,6 @@ class IteratingArrayBuiltinDescriptor : public BuiltinDescriptor {
|
| 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)
|
|
|