Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 65ad7bc98a719347b981a8f7bd72131069b4f210..36244574c61c5312a8ab47f14a88184c9eba9558 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -2064,7 +2064,10 @@ class ScavengingVisitor : public StaticVisitorBase { |
ObjectEvacuationStrategy<POINTER_OBJECT>::template VisitSpecialized< |
JSFunction::kSize>(map, slot, object); |
- HeapObject* target = *slot; |
+ MapWord map_word = object->map_word(); |
+ DCHECK(map_word.IsForwardingAddress()); |
+ HeapObject* target = map_word.ToForwardingAddress(); |
+ |
MarkBit mark_bit = Marking::MarkBitFrom(target); |
if (Marking::IsBlack(mark_bit)) { |
// This object is black and it might not be rescanned by marker. |