| Index: src/heap/scavenger.cc
|
| diff --git a/src/heap/scavenger.cc b/src/heap/scavenger.cc
|
| index dc8964171a4c1c41a75531a85bbcd552f9ee25d1..34f3f1c2f64d925ee207fb420fb4c057e9eddc92 100644
|
| --- a/src/heap/scavenger.cc
|
| +++ b/src/heap/scavenger.cc
|
| @@ -404,6 +404,17 @@
|
| }
|
|
|
|
|
| +// static
|
| +void Scavenger::ScavengeObjectSlow(HeapObject** p, HeapObject* object) {
|
| + SLOW_DCHECK(object->GetIsolate()->heap()->InFromSpace(object));
|
| + MapWord first_word = object->map_word();
|
| + SLOW_DCHECK(!first_word.IsForwardingAddress());
|
| + Map* map = first_word.ToMap();
|
| + Scavenger* scavenger = map->GetHeap()->scavenge_collector_;
|
| + scavenger->scavenging_visitors_table_.GetVisitor(map)(map, p, object);
|
| +}
|
| +
|
| +
|
| void Scavenger::SelectScavengingVisitorsTable() {
|
| bool logging_and_profiling =
|
| FLAG_verify_predictable || isolate()->logger()->is_logging() ||
|
|
|