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); |