OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var $iteratorCreateResultObject; | 5 var $iteratorCreateResultObject; |
6 var $arrayValues; | 6 var $arrayValues; |
7 | 7 |
8 (function(global, shared, exports) { | 8 (function(global, shared, exports) { |
9 | 9 |
10 "use strict"; | 10 "use strict"; |
11 | 11 |
12 %CheckIsBootstrapping(); | 12 %CheckIsBootstrapping(); |
13 | 13 |
14 var GlobalArray = global.Array; | 14 var GlobalArray = global.Array; |
15 var GlobalObject = global.Object; | |
16 | 15 |
17 macro TYPED_ARRAYS(FUNCTION) | 16 macro TYPED_ARRAYS(FUNCTION) |
18 FUNCTION(Uint8Array) | 17 FUNCTION(Uint8Array) |
19 FUNCTION(Int8Array) | 18 FUNCTION(Int8Array) |
20 FUNCTION(Uint16Array) | 19 FUNCTION(Uint16Array) |
21 FUNCTION(Int16Array) | 20 FUNCTION(Int16Array) |
22 FUNCTION(Uint32Array) | 21 FUNCTION(Uint32Array) |
23 FUNCTION(Int32Array) | 22 FUNCTION(Int32Array) |
24 FUNCTION(Float32Array) | 23 FUNCTION(Float32Array) |
25 FUNCTION(Float64Array) | 24 FUNCTION(Float64Array) |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 function ArrayValues() { | 114 function ArrayValues() { |
116 return CreateArrayIterator(this, ITERATOR_KIND_VALUES); | 115 return CreateArrayIterator(this, ITERATOR_KIND_VALUES); |
117 } | 116 } |
118 | 117 |
119 | 118 |
120 function ArrayKeys() { | 119 function ArrayKeys() { |
121 return CreateArrayIterator(this, ITERATOR_KIND_KEYS); | 120 return CreateArrayIterator(this, ITERATOR_KIND_KEYS); |
122 } | 121 } |
123 | 122 |
124 | 123 |
125 %FunctionSetPrototype(ArrayIterator, new GlobalObject()); | 124 %FunctionSetPrototype(ArrayIterator, {__proto__: $iteratorPrototype}); |
126 %FunctionSetInstanceClassName(ArrayIterator, 'Array Iterator'); | 125 %FunctionSetInstanceClassName(ArrayIterator, 'Array Iterator'); |
127 | 126 |
128 $installFunctions(ArrayIterator.prototype, DONT_ENUM, [ | 127 $installFunctions(ArrayIterator.prototype, DONT_ENUM, [ |
129 'next', ArrayIteratorNext | 128 'next', ArrayIteratorNext |
130 ]); | 129 ]); |
131 $setFunctionName(ArrayIteratorIterator, symbolIterator); | 130 $setFunctionName(ArrayIteratorIterator, symbolIterator); |
132 %AddNamedProperty(ArrayIterator.prototype, symbolIterator, | 131 %AddNamedProperty(ArrayIterator.prototype, symbolIterator, |
133 ArrayIteratorIterator, DONT_ENUM); | 132 ArrayIteratorIterator, DONT_ENUM); |
134 %AddNamedProperty(ArrayIterator.prototype, symbolToStringTag, | 133 %AddNamedProperty(ArrayIterator.prototype, symbolToStringTag, |
135 "Array Iterator", READ_ONLY | DONT_ENUM); | 134 "Array Iterator", READ_ONLY | DONT_ENUM); |
(...skipping 14 matching lines...) Expand all Loading... |
150 %AddNamedProperty(GlobalNAME.prototype, symbolIterator, ArrayValues, | 149 %AddNamedProperty(GlobalNAME.prototype, symbolIterator, ArrayValues, |
151 DONT_ENUM); | 150 DONT_ENUM); |
152 endmacro | 151 endmacro |
153 | 152 |
154 TYPED_ARRAYS(EXTEND_TYPED_ARRAY) | 153 TYPED_ARRAYS(EXTEND_TYPED_ARRAY) |
155 | 154 |
156 $iteratorCreateResultObject = CreateIteratorResultObject; | 155 $iteratorCreateResultObject = CreateIteratorResultObject; |
157 $arrayValues = ArrayValues; | 156 $arrayValues = ArrayValues; |
158 | 157 |
159 }) | 158 }) |
OLD | NEW |