| Index: src/profile-generator.cc
|
| diff --git a/src/profile-generator.cc b/src/profile-generator.cc
|
| index c91e83bb78fe37cc2c75933e297e2f70a1c788d6..821b1d08429b0f75c874474cc5a8158073dfd5ed 100644
|
| --- a/src/profile-generator.cc
|
| +++ b/src/profile-generator.cc
|
| @@ -2146,10 +2146,16 @@ void V8HeapExplorer::ExtractMapReferences(HeapEntry* entry, Map* map) {
|
| "descriptors", map->instance_descriptors(),
|
| Map::kInstanceDescriptorsOrBitField3Offset);
|
| }
|
| - TagObject(map->prototype_transitions(), "(prototype transitions)");
|
| - SetInternalReference(map, entry,
|
| - "prototype_transitions", map->prototype_transitions(),
|
| - Map::kPrototypeTransitionsOffset);
|
| + if (map->unchecked_prototype_transitions()->IsFixedArray()) {
|
| + TagObject(map->prototype_transitions(), "(prototype transitions)");
|
| + SetInternalReference(map, entry,
|
| + "prototype_transitions", map->prototype_transitions(),
|
| + Map::kPrototypeTransitionsOrBackPointerOffset);
|
| + } else {
|
| + SetInternalReference(map, entry,
|
| + "back_pointer", map->GetBackPointer(),
|
| + Map::kPrototypeTransitionsOrBackPointerOffset);
|
| + }
|
| SetInternalReference(map, entry,
|
| "code_cache", map->code_cache(),
|
| Map::kCodeCacheOffset);
|
|
|