Revision: 22040
Author:   [email protected]
Date:     Thu Jun 26 12:56:14 2014 UTC
Log:      Added more detailed sweeping timing counters.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/331053003
http://code.google.com/p/v8/source/detail?r=22040

Modified:
 /branches/bleeding_edge/src/heap.cc
 /branches/bleeding_edge/src/heap.h
 /branches/bleeding_edge/src/mark-compact.cc

=======================================
--- /branches/bleeding_edge/src/heap.cc Wed Jun 25 15:29:58 2014 UTC
+++ /branches/bleeding_edge/src/heap.cc Thu Jun 26 12:56:14 2014 UTC
@@ -6121,6 +6121,9 @@
     PrintF("sweep=%.2f ", scopes_[Scope::MC_SWEEP]);
     PrintF("sweepns=%.2f ", scopes_[Scope::MC_SWEEP_NEWSPACE]);
     PrintF("sweepos=%.2f ", scopes_[Scope::MC_SWEEP_OLDSPACE]);
+    PrintF("sweepcode=%.2f ", scopes_[Scope::MC_SWEEP_CODE]);
+    PrintF("sweepcell=%.2f ", scopes_[Scope::MC_SWEEP_CELL]);
+    PrintF("sweepmap=%.2f ", scopes_[Scope::MC_SWEEP_MAP]);
     PrintF("evacuate=%.1f ", scopes_[Scope::MC_EVACUATE_PAGES]);
     PrintF("new_new=%.1f ", scopes_[Scope::MC_UPDATE_NEW_TO_NEW_POINTERS]);
PrintF("root_new=%.1f ", scopes_[Scope::MC_UPDATE_ROOT_TO_NEW_POINTERS]);
=======================================
--- /branches/bleeding_edge/src/heap.h  Wed Jun 25 09:36:45 2014 UTC
+++ /branches/bleeding_edge/src/heap.h  Thu Jun 26 12:56:14 2014 UTC
@@ -2507,6 +2507,9 @@
       MC_SWEEP,
       MC_SWEEP_NEWSPACE,
       MC_SWEEP_OLDSPACE,
+      MC_SWEEP_CODE,
+      MC_SWEEP_CELL,
+      MC_SWEEP_MAP,
       MC_EVACUATE_PAGES,
       MC_UPDATE_NEW_TO_NEW_POINTERS,
       MC_UPDATE_ROOT_TO_NEW_POINTERS,
=======================================
--- /branches/bleeding_edge/src/mark-compact.cc Tue Jun 24 14:30:22 2014 UTC
+++ /branches/bleeding_edge/src/mark-compact.cc Thu Jun 26 12:56:14 2014 UTC
@@ -4224,17 +4224,24 @@
     }
   }
   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();

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to