| Index: src/array-iterator.js
 | 
| diff --git a/src/array-iterator.js b/src/array-iterator.js
 | 
| deleted file mode 100644
 | 
| index 5b2d9d9454e86adc792f6ef60cfe6845a63b3dfd..0000000000000000000000000000000000000000
 | 
| --- a/src/array-iterator.js
 | 
| +++ /dev/null
 | 
| @@ -1,172 +0,0 @@
 | 
| -// Copyright 2013 the V8 project authors. All rights reserved.
 | 
| -// Use of this source code is governed by a BSD-style license that can be
 | 
| -// found in the LICENSE file.
 | 
| -
 | 
| -var $arrayValues;
 | 
| -
 | 
| -(function(global, utils) {
 | 
| -
 | 
| -"use strict";
 | 
| -
 | 
| -%CheckIsBootstrapping();
 | 
| -
 | 
| -// -----------------------------------------------------------------------
 | 
| -// Imports
 | 
| -
 | 
| -var arrayIterationKindSymbol =
 | 
| -    utils.ImportNow("array_iteration_kind_symbol");
 | 
| -var arrayIteratorNextIndexSymbol =
 | 
| -    utils.ImportNow("array_iterator_next_symbol");
 | 
| -var arrayIteratorObjectSymbol =
 | 
| -    utils.ImportNow("array_iterator_object_symbol");
 | 
| -var GlobalArray = global.Array;
 | 
| -var iteratorSymbol = utils.ImportNow("iterator_symbol");
 | 
| -var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol");
 | 
| -
 | 
| -macro TYPED_ARRAYS(FUNCTION)
 | 
| -  FUNCTION(Uint8Array)
 | 
| -  FUNCTION(Int8Array)
 | 
| -  FUNCTION(Uint16Array)
 | 
| -  FUNCTION(Int16Array)
 | 
| -  FUNCTION(Uint32Array)
 | 
| -  FUNCTION(Int32Array)
 | 
| -  FUNCTION(Float32Array)
 | 
| -  FUNCTION(Float64Array)
 | 
| -  FUNCTION(Uint8ClampedArray)
 | 
| -endmacro
 | 
| -
 | 
| -macro COPY_FROM_GLOBAL(NAME)
 | 
| -  var GlobalNAME = global.NAME;
 | 
| -endmacro
 | 
| -
 | 
| -TYPED_ARRAYS(COPY_FROM_GLOBAL)
 | 
| -
 | 
| -// -----------------------------------------------------------------------
 | 
| -
 | 
| -function ArrayIterator() {}
 | 
| -
 | 
| -
 | 
| -// TODO(wingo): Update section numbers when ES6 has stabilized.  The
 | 
| -// section numbers below are already out of date as of the May 2014
 | 
| -// draft.
 | 
| -
 | 
| -
 | 
| -// 15.4.5.1 CreateArrayIterator Abstract Operation
 | 
| -function CreateArrayIterator(array, kind) {
 | 
| -  var object = TO_OBJECT(array);
 | 
| -  var iterator = new ArrayIterator;
 | 
| -  SET_PRIVATE(iterator, arrayIteratorObjectSymbol, object);
 | 
| -  SET_PRIVATE(iterator, arrayIteratorNextIndexSymbol, 0);
 | 
| -  SET_PRIVATE(iterator, arrayIterationKindSymbol, kind);
 | 
| -  return iterator;
 | 
| -}
 | 
| -
 | 
| -
 | 
| -// 22.1.5.2.2 %ArrayIteratorPrototype%[@@iterator]
 | 
| -function ArrayIteratorIterator() {
 | 
| -    return this;
 | 
| -}
 | 
| -
 | 
| -
 | 
| -// ES6 section 22.1.5.2.1 %ArrayIteratorPrototype%.next( )
 | 
| -function ArrayIteratorNext() {
 | 
| -  var iterator = this;
 | 
| -  var value = UNDEFINED;
 | 
| -  var done = true;
 | 
| -
 | 
| -  if (!IS_SPEC_OBJECT(iterator) ||
 | 
| -      !HAS_DEFINED_PRIVATE(iterator, arrayIteratorNextIndexSymbol)) {
 | 
| -    throw MakeTypeError(kIncompatibleMethodReceiver,
 | 
| -                        'Array Iterator.prototype.next', this);
 | 
| -  }
 | 
| -
 | 
| -  var array = GET_PRIVATE(iterator, arrayIteratorObjectSymbol);
 | 
| -  if (!IS_UNDEFINED(array)) {
 | 
| -    var index = GET_PRIVATE(iterator, arrayIteratorNextIndexSymbol);
 | 
| -    var itemKind = GET_PRIVATE(iterator, arrayIterationKindSymbol);
 | 
| -    var length = TO_UINT32(array.length);
 | 
| -
 | 
| -    // "sparse" is never used.
 | 
| -
 | 
| -    if (index >= length) {
 | 
| -      SET_PRIVATE(iterator, arrayIteratorObjectSymbol, UNDEFINED);
 | 
| -    } else {
 | 
| -      SET_PRIVATE(iterator, arrayIteratorNextIndexSymbol, index + 1);
 | 
| -
 | 
| -      if (itemKind == ITERATOR_KIND_VALUES) {
 | 
| -        value = array[index];
 | 
| -      } else if (itemKind == ITERATOR_KIND_ENTRIES) {
 | 
| -        value = [index, array[index]];
 | 
| -      } else {
 | 
| -        value = index;
 | 
| -      }
 | 
| -      done = false;
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
| -  return %_CreateIterResultObject(value, done);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -function ArrayEntries() {
 | 
| -  return CreateArrayIterator(this, ITERATOR_KIND_ENTRIES);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -function ArrayValues() {
 | 
| -  return CreateArrayIterator(this, ITERATOR_KIND_VALUES);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -function ArrayKeys() {
 | 
| -  return CreateArrayIterator(this, ITERATOR_KIND_KEYS);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -%FunctionSetPrototype(ArrayIterator, {__proto__: $iteratorPrototype});
 | 
| -%FunctionSetInstanceClassName(ArrayIterator, 'Array Iterator');
 | 
| -
 | 
| -utils.InstallFunctions(ArrayIterator.prototype, DONT_ENUM, [
 | 
| -  'next', ArrayIteratorNext
 | 
| -]);
 | 
| -utils.SetFunctionName(ArrayIteratorIterator, iteratorSymbol);
 | 
| -%AddNamedProperty(ArrayIterator.prototype, iteratorSymbol,
 | 
| -                  ArrayIteratorIterator, DONT_ENUM);
 | 
| -%AddNamedProperty(ArrayIterator.prototype, toStringTagSymbol,
 | 
| -                  "Array Iterator", READ_ONLY | DONT_ENUM);
 | 
| -
 | 
| -utils.InstallFunctions(GlobalArray.prototype, DONT_ENUM, [
 | 
| -  // No 'values' since it breaks webcompat: http://crbug.com/409858
 | 
| -  'entries', ArrayEntries,
 | 
| -  'keys', ArrayKeys
 | 
| -]);
 | 
| -
 | 
| -// TODO(adam): Remove this call once 'values' is in the above
 | 
| -// InstallFunctions block, as it'll be redundant.
 | 
| -utils.SetFunctionName(ArrayValues, 'values');
 | 
| -
 | 
| -%AddNamedProperty(GlobalArray.prototype, iteratorSymbol, ArrayValues,
 | 
| -                  DONT_ENUM);
 | 
| -
 | 
| -macro EXTEND_TYPED_ARRAY(NAME)
 | 
| -  %AddNamedProperty(GlobalNAME.prototype, 'entries', ArrayEntries, DONT_ENUM);
 | 
| -  %AddNamedProperty(GlobalNAME.prototype, 'values', ArrayValues, DONT_ENUM);
 | 
| -  %AddNamedProperty(GlobalNAME.prototype, 'keys', ArrayKeys, DONT_ENUM);
 | 
| -  %AddNamedProperty(GlobalNAME.prototype, iteratorSymbol, ArrayValues,
 | 
| -                    DONT_ENUM);
 | 
| -endmacro
 | 
| -
 | 
| -TYPED_ARRAYS(EXTEND_TYPED_ARRAY)
 | 
| -
 | 
| -// -------------------------------------------------------------------
 | 
| -// Exports
 | 
| -
 | 
| -$arrayValues = ArrayValues;
 | 
| -
 | 
| -%InstallToContext([
 | 
| -  "array_keys_iterator", ArrayKeys,
 | 
| -  "array_values_iterator", ArrayValues,
 | 
| -  "array_entries_iterator", ArrayEntries
 | 
| -]);
 | 
| -
 | 
| -})
 | 
| 
 |