| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index b7575b3ab2a8faa3ca6de69b60c839e418f745b0..2e05171a779855e3b0fcfb945c96bc0cf79ced5c 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -4224,17 +4224,24 @@ void MarkCompactCollector::SweepSpaces() {
|
| }
|
| }
|
| RemoveDeadInvalidatedCode();
|
| - SweepSpace(heap()->code_space(), PRECISE);
|
|
|
| - SweepSpace(heap()->cell_space(), PRECISE);
|
| - SweepSpace(heap()->property_cell_space(), PRECISE);
|
| + { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_CODE);
|
| + SweepSpace(heap()->code_space(), PRECISE);
|
| + }
|
| +
|
| + { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_CELL);
|
| + SweepSpace(heap()->cell_space(), PRECISE);
|
| + SweepSpace(heap()->property_cell_space(), PRECISE);
|
| + }
|
|
|
| EvacuateNewSpaceAndCandidates();
|
|
|
| // ClearNonLiveTransitions depends on precise sweeping of map space to
|
| // detect whether unmarked map became dead in this collection or in one
|
| // of the previous ones.
|
| - SweepSpace(heap()->map_space(), PRECISE);
|
| + { GCTracer::Scope sweep_scope(tracer_, GCTracer::Scope::MC_SWEEP_MAP);
|
| + SweepSpace(heap()->map_space(), PRECISE);
|
| + }
|
|
|
| // Deallocate unmarked objects and clear marked bits for marked objects.
|
| heap_->lo_space()->FreeUnmarkedObjects();
|
|
|