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

Side by Side Diff: src/array.js

Issue 1323543002: [runtime] Replace %to_string_fun with %_ToString. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@ToStringStub
Patch Set: REBASE. Fixes Created 5 years, 3 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 | « no previous file | src/contexts.h » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 (function(global, utils) { 5 (function(global, utils) {
6 6
7 "use strict"; 7 "use strict";
8 8
9 %CheckIsBootstrapping(); 9 %CheckIsBootstrapping();
10 10
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 function ArrayToLocaleString() { 404 function ArrayToLocaleString() {
405 var array = TO_OBJECT(this); 405 var array = TO_OBJECT(this);
406 var arrayLen = array.length; 406 var arrayLen = array.length;
407 return InnerArrayToLocaleString(array, arrayLen); 407 return InnerArrayToLocaleString(array, arrayLen);
408 } 408 }
409 409
410 410
411 function InnerArrayJoin(separator, array, length) { 411 function InnerArrayJoin(separator, array, length) {
412 if (IS_UNDEFINED(separator)) { 412 if (IS_UNDEFINED(separator)) {
413 separator = ','; 413 separator = ',';
414 } else if (!IS_STRING(separator)) { 414 } else {
415 separator = $nonStringToString(separator); 415 separator = TO_STRING(separator);
416 } 416 }
417 417
418 var result = %_FastOneByteArrayJoin(array, separator); 418 var result = %_FastOneByteArrayJoin(array, separator);
419 if (!IS_UNDEFINED(result)) return result; 419 if (!IS_UNDEFINED(result)) return result;
420 420
421 // Fast case for one-element arrays. 421 // Fast case for one-element arrays.
422 if (length === 1) { 422 if (length === 1) {
423 var e = array[0]; 423 var e = array[0];
424 if (IS_STRING(e)) return e;
425 if (IS_NULL_OR_UNDEFINED(e)) return ''; 424 if (IS_NULL_OR_UNDEFINED(e)) return '';
426 return $nonStringToString(e); 425 return TO_STRING(e);
427 } 426 }
428 427
429 return Join(array, length, separator, ConvertToString); 428 return Join(array, length, separator, ConvertToString);
430 } 429 }
431 430
432 431
433 function ArrayJoin(separator) { 432 function ArrayJoin(separator) {
434 CHECK_OBJECT_COERCIBLE(this, "Array.prototype.join"); 433 CHECK_OBJECT_COERCIBLE(this, "Array.prototype.join");
435 434
436 var array = TO_OBJECT(this); 435 var array = TO_OBJECT(this);
(...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 %InstallToContext([ 1657 %InstallToContext([
1659 "array_pop", ArrayPop, 1658 "array_pop", ArrayPop,
1660 "array_push", ArrayPush, 1659 "array_push", ArrayPush,
1661 "array_shift", ArrayShift, 1660 "array_shift", ArrayShift,
1662 "array_splice", ArraySplice, 1661 "array_splice", ArraySplice,
1663 "array_slice", ArraySlice, 1662 "array_slice", ArraySlice,
1664 "array_unshift", ArrayUnshift, 1663 "array_unshift", ArrayUnshift,
1665 ]); 1664 ]);
1666 1665
1667 }); 1666 });
OLDNEW
« no previous file with comments | « no previous file | src/contexts.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698