Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: src/harmony-array.js

Issue 1144163002: Revert of Use shared container to manage imports/exports. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/generator.js ('k') | src/harmony-array-includes.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 $innerArrayCopyWithin; 5 var $innerArrayCopyWithin;
6 var $innerArrayFill; 6 var $innerArrayFill;
7 var $innerArrayFind; 7 var $innerArrayFind;
8 var $innerArrayFindIndex; 8 var $innerArrayFindIndex;
9 var $arrayFrom; 9 var $arrayFrom;
10 10
11 (function(global, utils) { 11 (function(global, exports) {
12 12
13 'use strict'; 13 'use strict';
14 14
15 %CheckIsBootstrapping(); 15 %CheckIsBootstrapping();
16 16
17 // -------------------------------------------------------------------
18 // Imports
19
20 var GlobalArray = global.Array; 17 var GlobalArray = global.Array;
21 var GlobalSymbol = global.Symbol; 18 var GlobalSymbol = global.Symbol;
22 19
23 var MathMax;
24 var MathMin;
25
26 utils.Import(function(from) {
27 MathMax = from.MathMax;
28 MathMin = from.MathMin;
29 });
30
31 // ------------------------------------------------------------------- 20 // -------------------------------------------------------------------
32 21
33 function InnerArrayCopyWithin(target, start, end, array, length) { 22 function InnerArrayCopyWithin(target, start, end, array, length) {
34 target = TO_INTEGER(target); 23 target = TO_INTEGER(target);
35 var to; 24 var to;
36 if (target < 0) { 25 if (target < 0) {
37 to = MathMax(length + target, 0); 26 to = $max(length + target, 0);
38 } else { 27 } else {
39 to = MathMin(target, length); 28 to = $min(target, length);
40 } 29 }
41 30
42 start = TO_INTEGER(start); 31 start = TO_INTEGER(start);
43 var from; 32 var from;
44 if (start < 0) { 33 if (start < 0) {
45 from = MathMax(length + start, 0); 34 from = $max(length + start, 0);
46 } else { 35 } else {
47 from = MathMin(start, length); 36 from = $min(start, length);
48 } 37 }
49 38
50 end = IS_UNDEFINED(end) ? length : TO_INTEGER(end); 39 end = IS_UNDEFINED(end) ? length : TO_INTEGER(end);
51 var final; 40 var final;
52 if (end < 0) { 41 if (end < 0) {
53 final = MathMax(length + end, 0); 42 final = $max(length + end, 0);
54 } else { 43 } else {
55 final = MathMin(end, length); 44 final = $min(end, length);
56 } 45 }
57 46
58 var count = MathMin(final - from, length - to); 47 var count = $min(final - from, length - to);
59 var direction = 1; 48 var direction = 1;
60 if (from < to && to < (from + count)) { 49 if (from < to && to < (from + count)) {
61 direction = -1; 50 direction = -1;
62 from = from + count - 1; 51 from = from + count - 1;
63 to = to + count - 1; 52 to = to + count - 1;
64 } 53 }
65 54
66 while (count > 0) { 55 while (count > 0) {
67 if (from in array) { 56 if (from in array) {
68 array[to] = array[from]; 57 array[to] = array[from];
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 291
303 // Set up the non-enumerable functions on the Array prototype object. 292 // Set up the non-enumerable functions on the Array prototype object.
304 $installFunctions(GlobalArray.prototype, DONT_ENUM, [ 293 $installFunctions(GlobalArray.prototype, DONT_ENUM, [
305 "copyWithin", ArrayCopyWithin, 294 "copyWithin", ArrayCopyWithin,
306 "find", ArrayFind, 295 "find", ArrayFind,
307 "findIndex", ArrayFindIndex, 296 "findIndex", ArrayFindIndex,
308 "fill", ArrayFill 297 "fill", ArrayFill
309 ]); 298 ]);
310 299
311 }) 300 })
OLDNEW
« no previous file with comments | « src/generator.js ('k') | src/harmony-array-includes.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698