| Index: src/profile-generator.cc | 
| diff --git a/src/profile-generator.cc b/src/profile-generator.cc | 
| index f0aaa499e72527f6a08d0cc284e7a98fd59381c0..874511e36ab14614e1d44970f14911d921aa9ed4 100644 | 
| --- a/src/profile-generator.cc | 
| +++ b/src/profile-generator.cc | 
| @@ -2519,15 +2519,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); | 
| } | 
|  | 
|  | 
| @@ -2537,15 +2539,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); | 
| } | 
|  | 
|  | 
|  |