Index: src/objects-visiting-inl.h |
diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h |
index 5d33e2ef98e66754715066102e3f7ea7131782c5..3d4f1daba40f9eea5df0695b4f4bdcf1fc8c0d6d 100644 |
--- a/src/objects-visiting-inl.h |
+++ b/src/objects-visiting-inl.h |
@@ -328,7 +328,11 @@ void StaticMarkingVisitor<StaticVisitor>::MarkTransitionArray( |
// Skip recording the descriptors_pointer slot since the cell space |
// is not compacted and descriptors are referenced through a cell. |
- StaticVisitor::MarkObject(heap, transitions->descriptors_pointer()); |
+ Object** descriptors_slot = transitions->GetDescriptorsSlot(); |
+ HeapObject* descriptors = HeapObject::cast(*descriptors_slot); |
+ StaticVisitor::MarkObject(heap, descriptors); |
+ heap->mark_compact_collector()->RecordSlot( |
+ descriptors_slot, descriptors_slot, descriptors); |
// Simple transitions do not have keys nor prototype transitions. |
if (transitions->IsSimpleTransition()) return; |