Index: src/profile-generator.h |
diff --git a/src/profile-generator.h b/src/profile-generator.h |
index ecac8e28fb24768386b5120f0feb5475f6a30fc7..4e423c8d920640fa7b663cda5225c6ea510b7d1f 100644 |
--- a/src/profile-generator.h |
+++ b/src/profile-generator.h |
@@ -431,7 +431,8 @@ class HeapGraphEdge { |
enum Type { |
CONTEXT_VARIABLE = v8::HeapGraphEdge::CONTEXT_VARIABLE, |
ELEMENT = v8::HeapGraphEdge::ELEMENT, |
- PROPERTY = v8::HeapGraphEdge::PROPERTY |
+ PROPERTY = v8::HeapGraphEdge::PROPERTY, |
+ INTERNAL = v8::HeapGraphEdge::INTERNAL |
}; |
HeapGraphEdge(Type type, const char* name, HeapEntry* from, HeapEntry* to); |
@@ -443,7 +444,7 @@ class HeapGraphEdge { |
return index_; |
} |
const char* name() const { |
- ASSERT(type_ == CONTEXT_VARIABLE || type_ == PROPERTY); |
+ ASSERT(type_ == CONTEXT_VARIABLE || type_ == PROPERTY || type_ == INTERNAL); |
return name_; |
} |
HeapEntry* from() const { return from_; } |
@@ -533,6 +534,7 @@ class HeapEntry { |
void PaintReachableFromOthers() { painted_ = kPaintReachableFromOthers; } |
void SetClosureReference(const char* name, HeapEntry* entry); |
void SetElementReference(int index, HeapEntry* entry); |
+ void SetInternalReference(const char* name, HeapEntry* entry); |
void SetPropertyReference(const char* name, HeapEntry* entry); |
void SetAutoIndexReference(HeapEntry* entry); |
@@ -542,6 +544,7 @@ class HeapEntry { |
void Print(int max_depth, int indent); |
private: |
+ void AddEdge(HeapGraphEdge* edge); |
int CalculateTotalSize(); |
int CalculateNonSharedTotalSize(); |
void FindRetainingPaths(HeapEntry* node, CachedHeapGraphPath* prev_path); |
@@ -641,6 +644,8 @@ class HeapSnapshot { |
void SetClosureReference( |
HeapEntry* parent, String* reference_name, Object* child); |
void SetElementReference(HeapEntry* parent, int index, Object* child); |
+ void SetInternalReference( |
+ HeapEntry* parent, const char* reference_name, Object* child); |
void SetPropertyReference( |
HeapEntry* parent, String* reference_name, Object* child); |