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

Side by Side Diff: src/js/v8natives.js

Issue 2115493002: [builtins] Migrate Math.abs() to TurboFan builtins. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add comment back in Created 4 years, 5 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/js/math.js ('k') | test/mjsunit/mirror-script.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 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 %CheckIsBootstrapping(); 7 %CheckIsBootstrapping();
8 8
9 // ---------------------------------------------------------------------------- 9 // ----------------------------------------------------------------------------
10 // Imports 10 // Imports
11 11
12 var GlobalArray = global.Array;
13 var GlobalNumber = global.Number; 12 var GlobalNumber = global.Number;
14 var GlobalObject = global.Object; 13 var GlobalObject = global.Object;
15 var iteratorSymbol = utils.ImportNow("iterator_symbol"); 14 var iteratorSymbol = utils.ImportNow("iterator_symbol");
16 var MakeRangeError; 15 var MakeRangeError;
17 var MakeSyntaxError; 16 var MakeSyntaxError;
18 var MakeTypeError; 17 var MakeTypeError;
19 var MathAbs;
20 var NaN = %GetRootNaN(); 18 var NaN = %GetRootNaN();
21 var ObjectToString = utils.ImportNow("object_to_string"); 19 var ObjectToString = utils.ImportNow("object_to_string");
22 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol");
23 20
24 utils.Import(function(from) { 21 utils.Import(function(from) {
25 MakeRangeError = from.MakeRangeError; 22 MakeRangeError = from.MakeRangeError;
26 MakeSyntaxError = from.MakeSyntaxError; 23 MakeSyntaxError = from.MakeSyntaxError;
27 MakeTypeError = from.MakeTypeError; 24 MakeTypeError = from.MakeTypeError;
28 MathAbs = from.MathAbs;
29 }); 25 });
30 26
31 // ---------------------------------------------------------------------------- 27 // ----------------------------------------------------------------------------
32 28
33 29
34 // ES6 18.2.3 isNaN(number) 30 // ES6 18.2.3 isNaN(number)
35 function GlobalIsNaN(number) { 31 function GlobalIsNaN(number) {
36 number = TO_NUMBER(number); 32 number = TO_NUMBER(number);
37 return NUMBER_IS_NAN(number); 33 return NUMBER_IS_NAN(number);
38 } 34 }
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 function NumberIsNaN(number) { 356 function NumberIsNaN(number) {
361 return IS_NUMBER(number) && NUMBER_IS_NAN(number); 357 return IS_NUMBER(number) && NUMBER_IS_NAN(number);
362 } 358 }
363 359
364 360
365 // Harmony isSafeInteger 361 // Harmony isSafeInteger
366 function NumberIsSafeInteger(number) { 362 function NumberIsSafeInteger(number) {
367 if (NumberIsFinite(number)) { 363 if (NumberIsFinite(number)) {
368 var integral = TO_INTEGER(number); 364 var integral = TO_INTEGER(number);
369 if (integral == number) { 365 if (integral == number) {
370 return MathAbs(integral) <= kMaxSafeInteger; 366 return %math_abs(integral) <= kMaxSafeInteger;
371 } 367 }
372 } 368 }
373 return false; 369 return false;
374 } 370 }
375 371
376 372
377 // ---------------------------------------------------------------------------- 373 // ----------------------------------------------------------------------------
378 374
379 %FunctionSetPrototype(GlobalNumber, new GlobalNumber(0)); 375 %FunctionSetPrototype(GlobalNumber, new GlobalNumber(0));
380 376
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 to.NumberIsNaN = NumberIsNaN; 449 to.NumberIsNaN = NumberIsNaN;
454 to.NumberIsInteger = NumberIsInteger; 450 to.NumberIsInteger = NumberIsInteger;
455 to.ObjectHasOwnProperty = GlobalObject.prototype.hasOwnProperty; 451 to.ObjectHasOwnProperty = GlobalObject.prototype.hasOwnProperty;
456 }); 452 });
457 453
458 %InstallToContext([ 454 %InstallToContext([
459 "object_value_of", ObjectValueOf, 455 "object_value_of", ObjectValueOf,
460 ]); 456 ]);
461 457
462 }) 458 })
OLDNEW
« no previous file with comments | « src/js/math.js ('k') | test/mjsunit/mirror-script.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698