| Index: src/array.js
|
| diff --git a/src/array.js b/src/array.js
|
| index e0cc0695cc600462546ab55f813f3e3b3a2c87f3..7d0fdcafb3d3ef86a9a03c91baef02778553dbe0 100644
|
| --- a/src/array.js
|
| +++ b/src/array.js
|
| @@ -227,7 +227,7 @@ function ConvertToLocaleString(e) {
|
| // According to ES5, section 15.4.4.3, the toLocaleString conversion
|
| // must throw a TypeError if ToObject(e).toLocaleString isn't
|
| // callable.
|
| - var e_obj = $toObject(e);
|
| + var e_obj = TO_OBJECT(e);
|
| return $toString(e_obj.toLocaleString());
|
| }
|
| }
|
| @@ -388,7 +388,7 @@ function ArrayToString() {
|
| }
|
| array = this;
|
| } else {
|
| - array = $toObject(this);
|
| + array = TO_OBJECT(this);
|
| func = array.join;
|
| }
|
| if (!IS_SPEC_FUNCTION(func)) {
|
| @@ -406,7 +406,7 @@ function InnerArrayToLocaleString(array, length) {
|
|
|
|
|
| function ArrayToLocaleString() {
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var arrayLen = array.length;
|
| return InnerArrayToLocaleString(array, arrayLen);
|
| }
|
| @@ -437,7 +437,7 @@ function InnerArrayJoin(separator, array, length) {
|
| function ArrayJoin(separator) {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.join");
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
|
|
| return InnerArrayJoin(separator, array, length);
|
| @@ -466,7 +466,7 @@ function ObservedArrayPop(n) {
|
| function ArrayPop() {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.pop");
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var n = TO_UINT32(array.length);
|
| if (n == 0) {
|
| array.length = n;
|
| @@ -512,7 +512,7 @@ function ArrayPush() {
|
| if (%IsObserved(this))
|
| return ObservedArrayPush.apply(this, arguments);
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var n = TO_UINT32(array.length);
|
| var m = %_ArgumentsLength();
|
|
|
| @@ -532,7 +532,7 @@ function ArrayPush() {
|
| function ArrayConcatJS(arg1) { // length == 1
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.concat");
|
|
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var arg_count = %_ArgumentsLength();
|
| var arrays = new InternalArray(1 + arg_count);
|
| arrays[0] = array;
|
| @@ -627,7 +627,7 @@ function GenericArrayReverse(array, len) {
|
| function ArrayReverse() {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.reverse");
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var len = TO_UINT32(array.length);
|
| var isArray = IS_ARRAY(array);
|
|
|
| @@ -662,7 +662,7 @@ function ObservedArrayShift(len) {
|
| function ArrayShift() {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.shift");
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var len = TO_UINT32(array.length);
|
|
|
| if (len === 0) {
|
| @@ -716,7 +716,7 @@ function ArrayUnshift(arg1) { // length == 1
|
| if (%IsObserved(this))
|
| return ObservedArrayUnshift.apply(this, arguments);
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var len = TO_UINT32(array.length);
|
| var num_arguments = %_ArgumentsLength();
|
|
|
| @@ -740,7 +740,7 @@ function ArrayUnshift(arg1) { // length == 1
|
| function ArraySlice(start, end) {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.slice");
|
|
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var len = TO_UINT32(array.length);
|
| var start_i = TO_INTEGER(start);
|
| var end_i = len;
|
| @@ -858,7 +858,7 @@ function ArraySplice(start, delete_count) {
|
| return ObservedArraySplice.apply(this, arguments);
|
|
|
| var num_arguments = %_ArgumentsLength();
|
| - var array = TO_OBJECT_INLINE(this);
|
| + var array = TO_OBJECT(this);
|
| var len = TO_UINT32(array.length);
|
| var start_i = ComputeSpliceStartIndex(TO_INTEGER(start), len);
|
| var del_count = ComputeSpliceDeleteCount(delete_count, num_arguments, len,
|
| @@ -1190,7 +1190,7 @@ function InnerArraySort(length, comparefn) {
|
| function ArraySort(comparefn) {
|
| CHECK_OBJECT_COERCIBLE(this, "Array.prototype.sort");
|
|
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
| return %_CallFunction(array, length, comparefn, InnerArraySort);
|
| }
|
| @@ -1217,7 +1217,7 @@ function InnerArrayFilter(f, receiver, array, length) {
|
| var element = array[i];
|
| // Prepare break slots for debugger step in.
|
| if (stepping) %DebugPrepareStepInIfStepping(f);
|
| - var new_receiver = needs_wrapper ? $toObject(receiver) : receiver;
|
| + var new_receiver = needs_wrapper ? TO_OBJECT(receiver) : receiver;
|
| if (%_CallFunction(new_receiver, element, i, array, f)) {
|
| accumulator[accumulator_length++] = element;
|
| }
|
| @@ -1231,7 +1231,7 @@ function ArrayFilter(f, receiver) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = $toUint32(array.length);
|
| var accumulator = InnerArrayFilter(f, receiver, array, length);
|
| var result = new GlobalArray();
|
| @@ -1255,7 +1255,7 @@ function InnerArrayForEach(f, receiver, array, length) {
|
| var element = array[i];
|
| // Prepare break slots for debugger step in.
|
| if (stepping) %DebugPrepareStepInIfStepping(f);
|
| - var new_receiver = needs_wrapper ? $toObject(receiver) : receiver;
|
| + var new_receiver = needs_wrapper ? TO_OBJECT(receiver) : receiver;
|
| %_CallFunction(new_receiver, element, i, array, f);
|
| }
|
| }
|
| @@ -1266,7 +1266,7 @@ function ArrayForEach(f, receiver) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
| InnerArrayForEach(f, receiver, array, length);
|
| }
|
| @@ -1288,7 +1288,7 @@ function InnerArraySome(f, receiver, array, length) {
|
| var element = array[i];
|
| // Prepare break slots for debugger step in.
|
| if (stepping) %DebugPrepareStepInIfStepping(f);
|
| - var new_receiver = needs_wrapper ? $toObject(receiver) : receiver;
|
| + var new_receiver = needs_wrapper ? TO_OBJECT(receiver) : receiver;
|
| if (%_CallFunction(new_receiver, element, i, array, f)) return true;
|
| }
|
| }
|
| @@ -1303,7 +1303,7 @@ function ArraySome(f, receiver) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
| return InnerArraySome(f, receiver, array, length);
|
| }
|
| @@ -1325,7 +1325,7 @@ function InnerArrayEvery(f, receiver, array, length) {
|
| var element = array[i];
|
| // Prepare break slots for debugger step in.
|
| if (stepping) %DebugPrepareStepInIfStepping(f);
|
| - var new_receiver = needs_wrapper ? $toObject(receiver) : receiver;
|
| + var new_receiver = needs_wrapper ? TO_OBJECT(receiver) : receiver;
|
| if (!%_CallFunction(new_receiver, element, i, array, f)) return false;
|
| }
|
| }
|
| @@ -1337,7 +1337,7 @@ function ArrayEvery(f, receiver) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
| return InnerArrayEvery(f, receiver, array, length);
|
| }
|
| @@ -1360,7 +1360,7 @@ function InnerArrayMap(f, receiver, array, length) {
|
| var element = array[i];
|
| // Prepare break slots for debugger step in.
|
| if (stepping) %DebugPrepareStepInIfStepping(f);
|
| - var new_receiver = needs_wrapper ? $toObject(receiver) : receiver;
|
| + var new_receiver = needs_wrapper ? TO_OBJECT(receiver) : receiver;
|
| accumulator[i] = %_CallFunction(new_receiver, element, i, array, f);
|
| }
|
| }
|
| @@ -1373,7 +1373,7 @@ function ArrayMap(f, receiver) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = TO_UINT32(array.length);
|
| var accumulator = InnerArrayMap(f, receiver, array, length);
|
| var result = new GlobalArray();
|
| @@ -1542,7 +1542,7 @@ function ArrayReduce(callback, current) {
|
|
|
| // Pull out the length so that modifications to the length in the
|
| // loop will not affect the looping and side effects are visible.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = $toUint32(array.length);
|
| return InnerArrayReduce(callback, current, array, length,
|
| %_ArgumentsLength());
|
| @@ -1585,7 +1585,7 @@ function ArrayReduceRight(callback, current) {
|
|
|
| // Pull out the length so that side effects are visible before the
|
| // callback function is checked.
|
| - var array = $toObject(this);
|
| + var array = TO_OBJECT(this);
|
| var length = $toUint32(array.length);
|
| return InnerArrayReduceRight(callback, current, array, length,
|
| %_ArgumentsLength());
|
|
|