| Index: include/v8-profiler.h | 
| diff --git a/include/v8-profiler.h b/include/v8-profiler.h | 
| index 3e1952c7ade9b0ae6e2e9198508ae08e15620f7c..c99eb0d9f8f1fc42e618ee4e12d87ec946db738d 100644 | 
| --- a/include/v8-profiler.h | 
| +++ b/include/v8-profiler.h | 
| @@ -258,6 +258,12 @@ class V8EXPORT HeapGraphNode { | 
| */ | 
| Handle<String> GetName() const; | 
|  | 
| +  /** | 
| +   * Returns node id. For the same heap object, the id remains the same | 
| +   * across all snapshots. | 
| +   */ | 
| +  uint64_t GetId() const; | 
| + | 
| /** Returns node's own size, in bytes. */ | 
| int GetSelfSize() const; | 
|  | 
| @@ -290,6 +296,16 @@ class V8EXPORT HeapGraphNode { | 
| }; | 
|  | 
|  | 
| +class V8EXPORT HeapSnapshotsDiff { | 
| + public: | 
| +  /** Returns the root node for added nodes. */ | 
| +  const HeapGraphNode* GetAdditionsRoot() const; | 
| + | 
| +  /** Returns the root node for deleted nodes. */ | 
| +  const HeapGraphNode* GetDeletionsRoot() const; | 
| +}; | 
| + | 
| + | 
| /** | 
| * HeapSnapshots record the state of the JS heap at some moment. | 
| */ | 
| @@ -302,7 +318,10 @@ class V8EXPORT HeapSnapshot { | 
| Handle<String> GetTitle() const; | 
|  | 
| /** Returns the root node of the heap graph. */ | 
| -  const HeapGraphNode* GetHead() const; | 
| +  const HeapGraphNode* GetRoot() const; | 
| + | 
| +  /** Returns a diff between this snapshot and another one. */ | 
| +  const HeapSnapshotsDiff* CompareWith(const HeapSnapshot* snapshot) const; | 
| }; | 
|  | 
|  | 
|  |