Hide internal references pointing to the empty array in heap profiler.
Review URL: https://chromiumcodereview.appspot.com/10021052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
dfd54da6b1
commit
988ea77bed
@ -2515,15 +2515,17 @@ void V8HeapExplorer::SetInternalReference(HeapObject* parent_obj,
|
||||
Object* child_obj,
|
||||
int field_offset) {
|
||||
HeapEntry* child_entry = GetEntry(child_obj);
|
||||
if (child_entry != NULL) {
|
||||
if (child_entry == NULL) return;
|
||||
// We have to use raw_unchecked_* version because when the
|
||||
// empty_fixed_array itself is being processed all its inline properties
|
||||
// are invalid and the check in empty_fixed_array() function fails.
|
||||
if (child_obj != heap_->raw_unchecked_empty_fixed_array()) {
|
||||
filler_->SetNamedReference(HeapGraphEdge::kInternal,
|
||||
parent_obj,
|
||||
parent_entry,
|
||||
parent_obj, parent_entry,
|
||||
reference_name,
|
||||
child_obj,
|
||||
child_entry);
|
||||
IndexedReferencesExtractor::MarkVisitedField(parent_obj, field_offset);
|
||||
child_obj, child_entry);
|
||||
}
|
||||
IndexedReferencesExtractor::MarkVisitedField(parent_obj, field_offset);
|
||||
}
|
||||
|
||||
|
||||
@ -2533,15 +2535,15 @@ void V8HeapExplorer::SetInternalReference(HeapObject* parent_obj,
|
||||
Object* child_obj,
|
||||
int field_offset) {
|
||||
HeapEntry* child_entry = GetEntry(child_obj);
|
||||
if (child_entry != NULL) {
|
||||
if (child_entry == NULL) return;
|
||||
// See the comment regarding raw_unchecked_* above.
|
||||
if (child_obj != heap_->raw_unchecked_empty_fixed_array()) {
|
||||
filler_->SetNamedReference(HeapGraphEdge::kInternal,
|
||||
parent_obj,
|
||||
parent_entry,
|
||||
parent_obj, parent_entry,
|
||||
collection_->names()->GetName(index),
|
||||
child_obj,
|
||||
child_entry);
|
||||
IndexedReferencesExtractor::MarkVisitedField(parent_obj, field_offset);
|
||||
child_obj, child_entry);
|
||||
}
|
||||
IndexedReferencesExtractor::MarkVisitedField(parent_obj, field_offset);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user