Additional Math functions
Filip Pizlo
fpizlo at apple.com
Wed Apr 29 16:11:01 UTC 2015
On Apr 29, 2015, at 9:04 AM, C. Scott Ananian <ecmascript at cscott.net <mailto:ecmascript at cscott.net>> 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
> es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
> https://mail.mozilla.org/listinfo/es-discuss <https://mail.mozilla.org/listinfo/es-discuss>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150429/bea3c231/attachment.html>
More information about the es-discuss
mailing list