| Index: src/typedarray.js
|
| diff --git a/src/typedarray.js b/src/typedarray.js
|
| index e12230dd7186e6ab49a5a4a72b4bae2c46fed1fe..ec9849df699a3ac69b5e52492ec441446f05fc2b 100644
|
| --- a/src/typedarray.js
|
| +++ b/src/typedarray.js
|
| @@ -69,6 +69,9 @@ function CreateTypedArrayConstructor(name, elementSize, arrayId, constructor) {
|
|
|
| function ConstructByLength(obj, length) {
|
| var l = ToPositiveInteger(length, "invalid_typed_array_length");
|
| + if (l > %MaxSmi()) {
|
| + throw MakeRangeError("invalid_typed_array_length");
|
| + }
|
| var byteLength = l * elementSize;
|
| var buffer = new global.ArrayBuffer(byteLength);
|
| %TypedArrayInitialize(obj, arrayId, buffer, 0, byteLength);
|
| @@ -77,9 +80,6 @@ function CreateTypedArrayConstructor(name, elementSize, arrayId, constructor) {
|
| function ConstructByArrayLike(obj, arrayLike) {
|
| var length = arrayLike.length;
|
| var l = ToPositiveInteger(length, "invalid_typed_array_length");
|
| - if (l > %MaxSmi()) {
|
| - throw MakeRangeError("invalid_typed_array_length");
|
| - }
|
| if(!%TypedArrayInitializeFromArrayLike(obj, arrayId, arrayLike, l)) {
|
| for (var i = 0; i < l; i++) {
|
| obj[i] = arrayLike[i];
|
|
|