| Index: src/typedarray.js
|
| diff --git a/src/typedarray.js b/src/typedarray.js
|
| index fc3a608f46ff83afd30b4b1108ac1f24e2419602..4c43391e63c4a72da8f5020d3be407191653d650 100644
|
| --- a/src/typedarray.js
|
| +++ b/src/typedarray.js
|
| @@ -86,8 +86,8 @@ macro TYPED_ARRAY_CONSTRUCTOR(ARRAY_ID, NAME, ELEMENT_SIZE)
|
|
|
| function NAMEConstructByLength(obj, length) {
|
| var l = IS_UNDEFINED(length) ?
|
| - 0 : ToPositiveInteger(length, "invalid_typed_array_length");
|
| - if (l > %MaxSmi()) {
|
| + 0 : ToPositiveInteger(length, "invalid_typed_array_length");
|
| + if (!%_IsSmi(l)) {
|
| throw MakeRangeError("invalid_typed_array_length");
|
| }
|
| var byteLength = l * ELEMENT_SIZE;
|
| @@ -98,7 +98,7 @@ macro TYPED_ARRAY_CONSTRUCTOR(ARRAY_ID, NAME, ELEMENT_SIZE)
|
| function NAMEConstructByArrayLike(obj, arrayLike) {
|
| var length = arrayLike.length;
|
| var l = ToPositiveInteger(length, "invalid_typed_array_length");
|
| - if(!%TypedArrayInitializeFromArrayLike(obj, ARRAY_ID, arrayLike, l)) {
|
| + if (!%TypedArrayInitializeFromArrayLike(obj, ARRAY_ID, arrayLike, l)) {
|
| for (var i = 0; i < l; i++) {
|
| // It is crucial that we let any execptions from arrayLike[i]
|
| // propagate outside the function.
|
| @@ -108,7 +108,6 @@ macro TYPED_ARRAY_CONSTRUCTOR(ARRAY_ID, NAME, ELEMENT_SIZE)
|
| }
|
|
|
| function NAMEConstructor(arg1, arg2, arg3) {
|
| -
|
| if (%_IsConstructCall()) {
|
| if (IS_ARRAYBUFFER(arg1)) {
|
| NAMEConstructByArrayBuffer(this, arg1, arg2, arg3);
|
|
|