| Index: test/cctest/test-heap-profiler.cc
|
| diff --git a/test/cctest/test-heap-profiler.cc b/test/cctest/test-heap-profiler.cc
|
| index 4b211b4b589aa642a1002896f0ca4040ec760270..538ec94a60b4d236498a3a7981d4b9a2d091e48c 100644
|
| --- a/test/cctest/test-heap-profiler.cc
|
| +++ b/test/cctest/test-heap-profiler.cc
|
| @@ -666,11 +666,13 @@ namespace {
|
| class TestRetainedObjectInfo : public v8::RetainedObjectInfo {
|
| public:
|
| TestRetainedObjectInfo(int hash,
|
| + const char* group_label,
|
| const char* label,
|
| intptr_t element_count = -1,
|
| intptr_t size = -1)
|
| : disposed_(false),
|
| hash_(hash),
|
| + group_label_(group_label),
|
| label_(label),
|
| element_count_(element_count),
|
| size_(size) {
|
| @@ -685,6 +687,7 @@ class TestRetainedObjectInfo : public v8::RetainedObjectInfo {
|
| return GetHash() == other->GetHash();
|
| }
|
| virtual intptr_t GetHash() { return hash_; }
|
| + virtual const char* GetGroupLabel() { return group_label_; }
|
| virtual const char* GetLabel() { return label_; }
|
| virtual intptr_t GetElementCount() { return element_count_; }
|
| virtual intptr_t GetSizeInBytes() { return size_; }
|
| @@ -696,15 +699,15 @@ class TestRetainedObjectInfo : public v8::RetainedObjectInfo {
|
| if (wrapper->IsString()) {
|
| v8::String::AsciiValue ascii(wrapper);
|
| if (strcmp(*ascii, "AAA") == 0)
|
| - return new TestRetainedObjectInfo(1, "aaa", 100);
|
| + return new TestRetainedObjectInfo(1, "aaa-group", "aaa", 100);
|
| else if (strcmp(*ascii, "BBB") == 0)
|
| - return new TestRetainedObjectInfo(1, "aaa", 100);
|
| + return new TestRetainedObjectInfo(1, "aaa-group", "aaa", 100);
|
| }
|
| } else if (class_id == 2) {
|
| if (wrapper->IsString()) {
|
| v8::String::AsciiValue ascii(wrapper);
|
| if (strcmp(*ascii, "CCC") == 0)
|
| - return new TestRetainedObjectInfo(2, "ccc");
|
| + return new TestRetainedObjectInfo(2, "ccc-group", "ccc");
|
| }
|
| }
|
| CHECK(false);
|
| @@ -717,6 +720,7 @@ class TestRetainedObjectInfo : public v8::RetainedObjectInfo {
|
| bool disposed_;
|
| int category_;
|
| int hash_;
|
| + const char* group_label_;
|
| const char* label_;
|
| intptr_t element_count_;
|
| intptr_t size_;
|
| @@ -769,18 +773,21 @@ TEST(HeapSnapshotRetainedObjectInfo) {
|
| delete TestRetainedObjectInfo::instances[i];
|
| }
|
|
|
| - const v8::HeapGraphNode* natives = GetNode(
|
| - snapshot->GetRoot(), v8::HeapGraphNode::kObject, "(Native objects)");
|
| - CHECK_NE(NULL, natives);
|
| - CHECK_EQ(2, natives->GetChildrenCount());
|
| + const v8::HeapGraphNode* native_group_aaa = GetNode(
|
| + snapshot->GetRoot(), v8::HeapGraphNode::kNative, "aaa-group");
|
| + CHECK_NE(NULL, native_group_aaa);
|
| + CHECK_EQ(1, native_group_aaa->GetChildrenCount());
|
| const v8::HeapGraphNode* aaa = GetNode(
|
| - natives, v8::HeapGraphNode::kNative, "aaa / 100 entries");
|
| + native_group_aaa, v8::HeapGraphNode::kNative, "aaa / 100 entries");
|
| CHECK_NE(NULL, aaa);
|
| + CHECK_EQ(2, aaa->GetChildrenCount());
|
| +
|
| + const v8::HeapGraphNode* native_group_ccc = GetNode(
|
| + snapshot->GetRoot(), v8::HeapGraphNode::kNative, "ccc-group");
|
| const v8::HeapGraphNode* ccc = GetNode(
|
| - natives, v8::HeapGraphNode::kNative, "ccc");
|
| + native_group_ccc, v8::HeapGraphNode::kNative, "ccc");
|
| CHECK_NE(NULL, ccc);
|
|
|
| - CHECK_EQ(2, aaa->GetChildrenCount());
|
| const v8::HeapGraphNode* n_AAA = GetNode(
|
| aaa, v8::HeapGraphNode::kString, "AAA");
|
| CHECK_NE(NULL, n_AAA);
|
|
|