On Apr 29, 2015, at 9:04 AM, C. Scott Ananian <[email protected] 
<mailto:[email protected]>> wrote:

> Aren't there limits to the number of arguments you can pass to a ES function 
> before getting a stack overflow?

Yup. For example WebKit limits to around 10000. This protects our other stack 
overflow detection logic from overflow. 

> 
> I've gotten in trouble trying to abuse the `arguments` array like this 
> before, for example `Math.max.apply(Math, someVeryLargeArray)`.
> 
> Empirically, with iojs 1.8.1:
> ```
> > Math.max.apply(Math, new Array(100000))
> NaN
> > Math.max.apply(Math, new Array(1000000))
> RangeError: Maximum call stack size exceeded
> ```
> I suppose it would be nice if JavaScript engines fell back to passing 
> arguments on the heap to avoid this problem, but I don't think that's part of 
> the ES6 spec.  Am I mistaken?

That would be a great idea!  Filed on our end: 
https://bugs.webkit.org/show_bug.cgi?id=144391 
<https://bugs.webkit.org/show_bug.cgi?id=144391>

-Filip

> 
> If we're going to add math functions to the standard library, my vote would 
> be for 
> http://www.evanmiller.org/statistical-shortcomings-in-standard-math-libraries.html
>  
> <http://www.evanmiller.org/statistical-shortcomings-in-standard-math-libraries.html>
>   --scott
> ​
> _______________________________________________
> es-discuss mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/es-discuss 
> <https://mail.mozilla.org/listinfo/es-discuss>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to