| Index: src/weakmap.js
|
| diff --git a/src/weakmap.js b/src/weakmap.js
|
| index 15056c7f8226588fa99a0b827a047c8253f134ee..70210b98de2d110b7781284ae20bf954d0c86993 100644
|
| --- a/src/weakmap.js
|
| +++ b/src/weakmap.js
|
| @@ -33,14 +33,13 @@ const $WeakMap = global.WeakMap;
|
|
|
| // -------------------------------------------------------------------
|
|
|
| -// Set the WeakMap function and constructor.
|
| -%SetCode($WeakMap, function(x) {
|
| +function WeakMapConstructor() {
|
| if (%_IsConstructCall()) {
|
| %WeakMapInitialize(this);
|
| } else {
|
| return new $WeakMap();
|
| }
|
| -});
|
| +}
|
|
|
|
|
| function WeakMapGet(key) {
|
| @@ -82,6 +81,12 @@ function WeakMapDelete(key) {
|
| // -------------------------------------------------------------------
|
|
|
| function SetupWeakMap() {
|
| + // Setup the WeakMap constructor function.
|
| + %SetCode($WeakMap, WeakMapConstructor);
|
| +
|
| + // Setup the WeakMap prototype object.
|
| + %FunctionSetPrototype($WeakMap, new $WeakMap());
|
| +
|
| // Setup the non-enumerable functions on the WeakMap prototype object.
|
| InstallFunctionsOnHiddenPrototype($WeakMap.prototype, DONT_ENUM, $Array(
|
| "get", WeakMapGet,
|
|
|