OLD | NEW |
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 Loading... |
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 Loading... |
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 }) |
OLD | NEW |