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) |