[Webkit-unassigned] [Bug 163417] New: ES6: Make Array.prototype.splice implement step 8 of its spec.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Oct 13 16:13:59 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=163417
Bug ID: 163417
Summary: ES6: Make Array.prototype.splice implement step 8 of
its spec.
Classification: Unclassified
Product: WebKit
Version: WebKit Local Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mark.lam at apple.com
Step 8 of the Array.prototype.splice spec (https://tc39.github.io/ecma262/#sec-array.prototype.splice) states that we should throw a TypeError if the spliced array's length will exceed 2^53-1. This is gated on the JSArray getLength() convenience function being updated to return a length value that is greater than 32-bits. This issue is only a compliance issue in a contrived example, e.g.
var maxLength = (2 ** 53) - 1;
Array.prototype.splice.call({ length: maxLength }, maxLength, 0, 1, 2, 3);
In real world code, the JSC runtime prevents us from creating arrays with a length that exceeds UINT_MAX. We're also bounded on the number of args that we pass to Array.prototype.splice. As a result, we can never splice together an array that gets anywhere near 2^53-1. We'll get an OutOfMemoryError long before then.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161013/af91d14f/attachment.html>
More information about the webkit-unassigned
mailing list