| Index: src/profile-generator.h
|
| diff --git a/src/profile-generator.h b/src/profile-generator.h
|
| index aefe1a0f607df3ceb75321ee5daf745c13f789d9..84325219b9ca3ae4adf2f02fb8b92a7792bc5b56 100644
|
| --- a/src/profile-generator.h
|
| +++ b/src/profile-generator.h
|
| @@ -1026,6 +1026,7 @@ class V8HeapExplorer : public HeapEntriesAllocator {
|
| DISALLOW_COPY_AND_ASSIGN(V8HeapExplorer);
|
| };
|
|
|
| +class NativeGroupRetainedObjectInfo;
|
|
|
| // An implementation of retained native objects extractor.
|
| class NativeObjectsExplorer : public HeapEntriesAllocator {
|
| @@ -1043,7 +1044,7 @@ class NativeObjectsExplorer : public HeapEntriesAllocator {
|
| void FillRetainedObjects();
|
| List<HeapObject*>* GetListMaybeDisposeInfo(v8::RetainedObjectInfo* info);
|
| void SetNativeRootReference(v8::RetainedObjectInfo* info);
|
| - void SetRootNativesRootReference();
|
| + void SetRootNativeRootsReference();
|
| void SetWrapperNativeReferences(HeapObject* wrapper,
|
| v8::RetainedObjectInfo* info);
|
| void VisitSubtreeWrapper(Object** p, uint16_t class_id);
|
| @@ -1057,6 +1058,12 @@ class NativeObjectsExplorer : public HeapEntriesAllocator {
|
| (reinterpret_cast<v8::RetainedObjectInfo*>(key1))->IsEquivalent(
|
| reinterpret_cast<v8::RetainedObjectInfo*>(key2));
|
| }
|
| + INLINE(static bool StringsMatch(void* key1, void* key2)) {
|
| + return strcmp(reinterpret_cast<char*>(key1),
|
| + reinterpret_cast<char*>(key2)) == 0;
|
| + }
|
| +
|
| + NativeGroupRetainedObjectInfo* FindOrAddGroupInfo(const char* label);
|
|
|
| HeapSnapshot* snapshot_;
|
| HeapSnapshotsCollection* collection_;
|
| @@ -1065,6 +1072,7 @@ class NativeObjectsExplorer : public HeapEntriesAllocator {
|
| HeapObjectsSet in_groups_;
|
| // RetainedObjectInfo* -> List<HeapObject*>*
|
| HashMap objects_by_info_;
|
| + HashMap native_groups_;
|
| // Used during references extraction.
|
| SnapshotFillerInterface* filler_;
|
|
|
|
|