Chromium Code Reviews| Index: include/v8.h |
| diff --git a/include/v8.h b/include/v8.h |
| index 8dabef0d5885448bfdd590c37f88ab4dfe8218a0..b983a6d417b5fdef1e04bd1ca4ad9a1660ca9a5b 100644 |
| --- a/include/v8.h |
| +++ b/include/v8.h |
| @@ -142,6 +142,31 @@ class Isolate; |
| class Object; |
| } |
| +// Generic-purpose unique identifier. |
| +class UniqueId { |
| + public: |
| + UniqueId() |
|
Sven Panne
2013/04/10 10:58:52
Do we need this? I can't imagine a use case, Uniqu
marja
2013/04/10 13:14:51
Removed.
|
| + : data_(0) {} |
| + |
| + explicit UniqueId(intptr_t data) |
| + : data_(data) {} |
| + |
| + bool operator==(const UniqueId& other) const { |
| + return data_ == other.data_; |
| + } |
| + |
| + bool operator!=(const UniqueId& other) const { |
| + return data_ == other.data_; |
| + } |
| + |
| + bool operator<(const UniqueId& other) const { |
| + return data_ < other.data_; |
| + } |
| + |
| + private: |
| + intptr_t data_; |
| +}; |
| + |
| // --- Weak Handles --- |
| @@ -3440,6 +3465,8 @@ class V8EXPORT V8 { |
| * for partially dependent handles only. |
| * See v8-profiler.h for RetainedObjectInfo interface description. |
| */ |
| + // TODO(marja): deprecate AddObjectGroup. Use SetObjectGroupID and |
| + // SetRetainedObjectInfo instead. |
| static void AddObjectGroup(Persistent<Value>* objects, |
| size_t length, |
| RetainedObjectInfo* info = NULL); |
| @@ -3448,6 +3475,14 @@ class V8EXPORT V8 { |
| size_t length, |
| RetainedObjectInfo* info = NULL); |
| + static void SetObjectGroupId(Isolate* isolate, |
| + const Persistent<Value>& object, |
| + UniqueId id); |
| + |
| + static void SetRetainedObjectInfo(Isolate* isolate, |
| + UniqueId id, |
| + RetainedObjectInfo* info); |
| + |
| /** |
| * Allows the host application to declare implicit references between |
| * the objects: if |parent| is alive, all |children| are alive too. |