OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 "use strict"; | 5 "use strict"; |
6 | 6 |
7 // This file relies on the fact that the following declaration has been made | 7 // This file relies on the fact that the following declaration has been made |
8 // in runtime.js: | 8 // in runtime.js: |
9 // var $Array = global.Array; | 9 // var $Array = global.Array; |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 receiver = %_Arguments(1); | 42 receiver = %_Arguments(1); |
43 } | 43 } |
44 | 44 |
45 var needs_wrapper = false; | 45 var needs_wrapper = false; |
46 if (IS_NULL_OR_UNDEFINED(receiver)) { | 46 if (IS_NULL_OR_UNDEFINED(receiver)) { |
47 receiver = %GetDefaultReceiver(f) || receiver; | 47 receiver = %GetDefaultReceiver(f) || receiver; |
48 } else { | 48 } else { |
49 needs_wrapper = SHOULD_CREATE_WRAPPER(f, receiver); | 49 needs_wrapper = SHOULD_CREATE_WRAPPER(f, receiver); |
50 } | 50 } |
51 | 51 |
52 var stepping = DEBUG_IS_ACTIVE && %DebugCallbackSupportsStepping(f); | 52 var stepping = DEBUG_IS_STEPPING(); |
53 for (var i = 0; i < length; i++) { | 53 for (var i = 0; i < length; i++) { |
54 var element = this[i]; | 54 var element = this[i]; |
55 // Prepare break slots for debugger step in. | 55 // Prepare break slots for debugger step in. |
56 if (stepping) %DebugPrepareStepInIfStepping(f); | 56 if (stepping) %DebugPrepareStepInIfStepping(f); |
57 var new_receiver = needs_wrapper ? ToObject(receiver) : receiver; | 57 var new_receiver = needs_wrapper ? ToObject(receiver) : receiver; |
58 %_CallFunction(new_receiver, TO_OBJECT_INLINE(element), i, this, f); | 58 %_CallFunction(new_receiver, TO_OBJECT_INLINE(element), i, this, f); |
59 } | 59 } |
60 } | 60 } |
61 | 61 |
62 // ES6 draft 08-24-14, section 22.2.2.2 | 62 // ES6 draft 08-24-14, section 22.2.2.2 |
(...skipping 23 matching lines...) Expand all Loading... |
86 // Set up non-enumerable functions on the prototype object. | 86 // Set up non-enumerable functions on the prototype object. |
87 InstallFunctions(global.NAME.prototype, DONT_ENUM, $Array( | 87 InstallFunctions(global.NAME.prototype, DONT_ENUM, $Array( |
88 "forEach", NAMEForEach | 88 "forEach", NAMEForEach |
89 )); | 89 )); |
90 endmacro | 90 endmacro |
91 | 91 |
92 TYPED_ARRAYS(EXTEND_TYPED_ARRAY) | 92 TYPED_ARRAYS(EXTEND_TYPED_ARRAY) |
93 } | 93 } |
94 | 94 |
95 HarmonyTypedArrayExtendPrototypes(); | 95 HarmonyTypedArrayExtendPrototypes(); |
OLD | NEW |