Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index c0e1039e3c91018eb1a8cb63d531840d7bd6aad7..1e7809399f6c5a155bad47aafe5394837788663a 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -3361,6 +3361,13 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() { |
EvacuateNewSpace(); |
} |
+ // We have to travers our allocation sites scratchpad which contains raw |
+ // pointers before we move objects. During new space evacauation we |
+ // gathered pretenuring statistics. The found allocation sites may not be |
+ // valid after compacting old space. |
+ heap()->ProcessPretenuringFeedback(); |
+ |
+ |
{ GCTracer::Scope gc_scope(tracer_, GCTracer::Scope::MC_EVACUATE_PAGES); |
EvacuatePages(); |
} |