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

Side by Side Diff: src/templates.js

Issue 1127983003: Use function wrapper argument to expose internal arrays to native scripts. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebased and fixed nits 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/string.js ('k') | src/uri.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 // Called from a desugaring in the parser. 5 // Called from a desugaring in the parser.
6 6
7 var $getTemplateCallSite; 7 var $getTemplateCallSite;
8 8
9 (function(global, shared, exports) { 9 (function(global, shared, exports) {
10 10
11 "use strict"; 11 "use strict";
12 12
13 %CheckIsBootstrapping(); 13 %CheckIsBootstrapping();
14 14
15 var callSiteCache = new global.Map; 15 // -------------------------------------------------------------------
16 var mapGetFn = global.Map.prototype.get; 16 // Imports
17 var mapSetFn = global.Map.prototype.set; 17
18 var GlobalMap = global.Map;
19 var InternalArray = shared.InternalArray;
20
21 // -------------------------------------------------------------------
22
23 var callSiteCache = new GlobalMap;
24 var mapGetFn = GlobalMap.prototype.get;
25 var mapSetFn = GlobalMap.prototype.set;
18 26
19 27
20 function SameCallSiteElements(rawStrings, other) { 28 function SameCallSiteElements(rawStrings, other) {
21 var length = rawStrings.length; 29 var length = rawStrings.length;
22 var other = other.raw; 30 var other = other.raw;
23 31
24 if (length !== other.length) return false; 32 if (length !== other.length) return false;
25 33
26 for (var i = 0; i < length; ++i) { 34 for (var i = 0; i < length; ++i) {
27 if (rawStrings[i] !== other[i]) return false; 35 if (rawStrings[i] !== other[i]) return false;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 72
65 if (!IS_UNDEFINED(cached)) return cached; 73 if (!IS_UNDEFINED(cached)) return cached;
66 74
67 %AddNamedProperty(siteObj, "raw", %ObjectFreeze(rawStrings), 75 %AddNamedProperty(siteObj, "raw", %ObjectFreeze(rawStrings),
68 READ_ONLY | DONT_ENUM | DONT_DELETE); 76 READ_ONLY | DONT_ENUM | DONT_DELETE);
69 77
70 return SetCachedCallSite(%ObjectFreeze(siteObj), hash); 78 return SetCachedCallSite(%ObjectFreeze(siteObj), hash);
71 } 79 }
72 80
73 }) 81 })
OLDNEW
« no previous file with comments | « src/string.js ('k') | src/uri.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698