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

Side by Side Diff: src/v8natives.js

Issue 1143993003: Use shared container to manage imports/exports. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fixed test for no-snap 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/uri.js ('k') | src/weak-collection.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 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
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
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
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
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 })
OLDNEW
« no previous file with comments | « src/uri.js ('k') | src/weak-collection.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698