| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index e8ca3df18f28fd7219384d63e951f3607b6c7883..fdebe670b1d5b5c2bb0bff8e14c9b1c6bca21da3 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -1536,6 +1536,32 @@ class V8_EXPORT JSON {
|
| };
|
|
|
|
|
| +/**
|
| + * A map whose keys are referenced weakly. It is similar to JavaScript WeakMap
|
| + * but can be created without entering a v8::Context and hence shouldn't
|
| + * escape to JavaScript.
|
| + */
|
| +class V8_EXPORT WeakKeyMap {
|
| + public:
|
| + static WeakKeyMap* New(Isolate* isolate);
|
| + ~WeakKeyMap();
|
| + void Set(Handle<Value> key, Handle<Value> value);
|
| + Local<Value> Get(Handle<Value> key);
|
| + bool Has(Handle<Value> key);
|
| + bool Delete(Handle<Value> key);
|
| +
|
| + private:
|
| + WeakKeyMap(Isolate* isolate, Handle<Object> weak_map);
|
| +
|
| + Isolate* isolate_;
|
| + UniquePersistent<Object> map_;
|
| +
|
| + // Disallow copying and assigning.
|
| + WeakKeyMap(WeakKeyMap&);
|
| + void operator=(WeakKeyMap&);
|
| +};
|
| +
|
| +
|
| // --- Value ---
|
|
|
|
|
|
|