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

Unified Diff: src/collection.js

Issue 1094563002: Wrap map and set implementation in functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ast-value-factory.h ('k') | src/collection-iterator.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/collection.js
diff --git a/src/collection.js b/src/collection.js
index c05dcd5249be6e6fc213fa99bf06cd26c21d7838..af1b22347bbce972e63738b43ae06bcfd428070a 100644
--- a/src/collection.js
+++ b/src/collection.js
@@ -2,20 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-"use strict";
-
-// This file relies on the fact that the following declaration has been made
-// in runtime.js:
-// var $Array = global.Array;
-
-var $Set = global.Set;
-var $Map = global.Map;
-
-
(function() {
+"use strict";
+
%CheckIsBootstrapping();
+var GlobalMap = global.Map;
+var GlobalObject = global.Object;
+var GlobalSet = global.Set;
+
+// -------------------------------------------------------------------
function HashToEntry(table, hash, numBuckets) {
var bucket = ORDERED_HASH_TABLE_HASH_TO_BUCKET(hash, numBuckets);
@@ -234,19 +231,20 @@ function SetForEach(f, receiver) {
}
}
+// -------------------------------------------------------------------
-%SetCode($Set, SetConstructor);
-%FunctionSetLength($Set, 0);
-%FunctionSetPrototype($Set, new $Object());
-%AddNamedProperty($Set.prototype, "constructor", $Set, DONT_ENUM);
-%AddNamedProperty(
- $Set.prototype, symbolToStringTag, "Set", DONT_ENUM | READ_ONLY);
+%SetCode(GlobalSet, SetConstructor);
+%FunctionSetLength(GlobalSet, 0);
+%FunctionSetPrototype(GlobalSet, new GlobalObject());
+%AddNamedProperty(GlobalSet.prototype, "constructor", GlobalSet, DONT_ENUM);
+%AddNamedProperty(GlobalSet.prototype, symbolToStringTag, "Set",
+ DONT_ENUM | READ_ONLY);
%FunctionSetLength(SetForEach, 1);
// Set up the non-enumerable functions on the Set prototype object.
-InstallGetter($Set.prototype, "size", SetGetSize);
-InstallFunctions($Set.prototype, DONT_ENUM, [
+InstallGetter(GlobalSet.prototype, "size", SetGetSize);
+InstallFunctions(GlobalSet.prototype, DONT_ENUM, [
"add", SetAdd,
"has", SetHas,
"delete", SetDelete,
@@ -423,19 +421,20 @@ function MapForEach(f, receiver) {
}
}
+// -------------------------------------------------------------------
-%SetCode($Map, MapConstructor);
-%FunctionSetLength($Map, 0);
-%FunctionSetPrototype($Map, new $Object());
-%AddNamedProperty($Map.prototype, "constructor", $Map, DONT_ENUM);
+%SetCode(GlobalMap, MapConstructor);
+%FunctionSetLength(GlobalMap, 0);
+%FunctionSetPrototype(GlobalMap, new GlobalObject());
+%AddNamedProperty(GlobalMap.prototype, "constructor", GlobalMap, DONT_ENUM);
%AddNamedProperty(
- $Map.prototype, symbolToStringTag, "Map", DONT_ENUM | READ_ONLY);
+ GlobalMap.prototype, symbolToStringTag, "Map", DONT_ENUM | READ_ONLY);
%FunctionSetLength(MapForEach, 1);
// Set up the non-enumerable functions on the Map prototype object.
-InstallGetter($Map.prototype, "size", MapGetSize);
-InstallFunctions($Map.prototype, DONT_ENUM, [
+InstallGetter(GlobalMap.prototype, "size", MapGetSize);
+InstallFunctions(GlobalMap.prototype, DONT_ENUM, [
"get", MapGet,
"set", MapSet,
"has", MapHas,
« no previous file with comments | « src/ast-value-factory.h ('k') | src/collection-iterator.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698