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. |