| 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 var $delete; | 5 var $delete; |
| 6 var $functionSourceString; | 6 var $functionSourceString; |
| 7 var $getIterator; | 7 var $getIterator; |
| 8 var $getMethod; | 8 var $getMethod; |
| 9 var $globalEval; | 9 var $globalEval; |
| 10 var $installConstants; | 10 var $installConstants; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 var $objectLookupGetter; | 25 var $objectLookupGetter; |
| 26 var $objectLookupSetter; | 26 var $objectLookupSetter; |
| 27 var $objectToString; | 27 var $objectToString; |
| 28 var $overrideFunction; | 28 var $overrideFunction; |
| 29 var $ownPropertyKeys; | 29 var $ownPropertyKeys; |
| 30 var $setFunctionName; | 30 var $setFunctionName; |
| 31 var $setUpLockedPrototype; | 31 var $setUpLockedPrototype; |
| 32 var $toCompletePropertyDescriptor; | 32 var $toCompletePropertyDescriptor; |
| 33 var $toNameArray; | 33 var $toNameArray; |
| 34 | 34 |
| 35 (function(global, shared, exports) { | 35 (function(global, utils) { |
| 36 | 36 |
| 37 %CheckIsBootstrapping(); | 37 %CheckIsBootstrapping(); |
| 38 | 38 |
| 39 // ---------------------------------------------------------------------------- | 39 // ---------------------------------------------------------------------------- |
| 40 // Imports | 40 // Imports |
| 41 | 41 |
| 42 var GlobalArray = global.Array; | 42 var GlobalArray = global.Array; |
| 43 var GlobalBoolean = global.Boolean; | 43 var GlobalBoolean = global.Boolean; |
| 44 var GlobalFunction = global.Function; | 44 var GlobalFunction = global.Function; |
| 45 var GlobalNumber = global.Number; | 45 var GlobalNumber = global.Number; |
| 46 var GlobalObject = global.Object; | 46 var GlobalObject = global.Object; |
| 47 var InternalArray = shared.InternalArray; | 47 var InternalArray = utils.InternalArray; |
| 48 |
| 49 var MathAbs; |
| 50 var StringIndexOf; |
| 51 |
| 52 utils.Import(function(from) { |
| 53 MathAbs = from.MathAbs; |
| 54 StringIndexOf = from.StringIndexOf; |
| 55 }); |
| 48 | 56 |
| 49 // ---------------------------------------------------------------------------- | 57 // ---------------------------------------------------------------------------- |
| 50 | 58 |
| 51 // ES6 - 9.2.11 SetFunctionName | 59 // ES6 - 9.2.11 SetFunctionName |
| 52 function SetFunctionName(f, name, prefix) { | 60 function SetFunctionName(f, name, prefix) { |
| 53 if (IS_SYMBOL(name)) { | 61 if (IS_SYMBOL(name)) { |
| 54 name = "[" + %SymbolDescription(name) + "]"; | 62 name = "[" + %SymbolDescription(name) + "]"; |
| 55 } | 63 } |
| 56 if (IS_UNDEFINED(prefix)) { | 64 if (IS_UNDEFINED(prefix)) { |
| 57 %FunctionSetName(f, name); | 65 %FunctionSetName(f, name); |
| (...skipping 1632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1690 function NumberIsNaN(number) { | 1698 function NumberIsNaN(number) { |
| 1691 return IS_NUMBER(number) && NUMBER_IS_NAN(number); | 1699 return IS_NUMBER(number) && NUMBER_IS_NAN(number); |
| 1692 } | 1700 } |
| 1693 | 1701 |
| 1694 | 1702 |
| 1695 // Harmony isSafeInteger | 1703 // Harmony isSafeInteger |
| 1696 function NumberIsSafeInteger(number) { | 1704 function NumberIsSafeInteger(number) { |
| 1697 if (NumberIsFinite(number)) { | 1705 if (NumberIsFinite(number)) { |
| 1698 var integral = TO_INTEGER(number); | 1706 var integral = TO_INTEGER(number); |
| 1699 if (integral == number) { | 1707 if (integral == number) { |
| 1700 return $abs(integral) <= GlobalNumber.MAX_SAFE_INTEGER; | 1708 return MathAbs(integral) <= GlobalNumber.MAX_SAFE_INTEGER; |
| 1701 } | 1709 } |
| 1702 } | 1710 } |
| 1703 return false; | 1711 return false; |
| 1704 } | 1712 } |
| 1705 | 1713 |
| 1706 | 1714 |
| 1707 // ---------------------------------------------------------------------------- | 1715 // ---------------------------------------------------------------------------- |
| 1708 | 1716 |
| 1709 %SetCode(GlobalNumber, NumberConstructor); | 1717 %SetCode(GlobalNumber, NumberConstructor); |
| 1710 %FunctionSetPrototype(GlobalNumber, new GlobalNumber(0)); | 1718 %FunctionSetPrototype(GlobalNumber, new GlobalNumber(0)); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1875 var n = args.length; | 1883 var n = args.length; |
| 1876 var p = ''; | 1884 var p = ''; |
| 1877 if (n > 1) { | 1885 if (n > 1) { |
| 1878 p = $toString(args[0]); | 1886 p = $toString(args[0]); |
| 1879 for (var i = 1; i < n - 1; i++) { | 1887 for (var i = 1; i < n - 1; i++) { |
| 1880 p += ',' + $toString(args[i]); | 1888 p += ',' + $toString(args[i]); |
| 1881 } | 1889 } |
| 1882 // If the formal parameters string include ) - an illegal | 1890 // If the formal parameters string include ) - an illegal |
| 1883 // character - it may make the combined function expression | 1891 // character - it may make the combined function expression |
| 1884 // compile. We avoid this problem by checking for this early on. | 1892 // compile. We avoid this problem by checking for this early on. |
| 1885 if (%_CallFunction(p, ')', $stringIndexOf) != -1) { | 1893 if (%_CallFunction(p, ')', StringIndexOf) != -1) { |
| 1886 throw MakeSyntaxError(kParenthesisInArgString); | 1894 throw MakeSyntaxError(kParenthesisInArgString); |
| 1887 } | 1895 } |
| 1888 // If the formal parameters include an unbalanced block comment, the | 1896 // If the formal parameters include an unbalanced block comment, the |
| 1889 // function must be rejected. Since JavaScript does not allow nested | 1897 // function must be rejected. Since JavaScript does not allow nested |
| 1890 // comments we can include a trailing block comment to catch this. | 1898 // comments we can include a trailing block comment to catch this. |
| 1891 p += '\n/' + '**/'; | 1899 p += '\n/' + '**/'; |
| 1892 } | 1900 } |
| 1893 var body = (n > 0) ? $toString(args[n - 1]) : ''; | 1901 var body = (n > 0) ? $toString(args[n - 1]) : ''; |
| 1894 return '(' + function_token + '(' + p + ') {\n' + body + '\n})'; | 1902 return '(' + function_token + '(' + p + ') {\n' + body + '\n})'; |
| 1895 } | 1903 } |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1962 $objectLookupSetter = ObjectLookupSetter; | 1970 $objectLookupSetter = ObjectLookupSetter; |
| 1963 $objectToString = ObjectToString; | 1971 $objectToString = ObjectToString; |
| 1964 $overrideFunction = OverrideFunction; | 1972 $overrideFunction = OverrideFunction; |
| 1965 $ownPropertyKeys = OwnPropertyKeys; | 1973 $ownPropertyKeys = OwnPropertyKeys; |
| 1966 $setFunctionName = SetFunctionName; | 1974 $setFunctionName = SetFunctionName; |
| 1967 $setUpLockedPrototype = SetUpLockedPrototype; | 1975 $setUpLockedPrototype = SetUpLockedPrototype; |
| 1968 $toCompletePropertyDescriptor = ToCompletePropertyDescriptor; | 1976 $toCompletePropertyDescriptor = ToCompletePropertyDescriptor; |
| 1969 $toNameArray = ToNameArray; | 1977 $toNameArray = ToNameArray; |
| 1970 | 1978 |
| 1971 }) | 1979 }) |
| OLD | NEW |