Index: runtime/vm/pages.cc |
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc |
index 0aca3477a69152c206791224f90ddbe05b1ba7c3..a37bc24d9390f8b782f10917de9d9bf271e0c922 100644 |
--- a/runtime/vm/pages.cc |
+++ b/runtime/vm/pages.cc |
@@ -8,6 +8,7 @@ |
#include "vm/compiler_stats.h" |
#include "vm/gc_marker.h" |
#include "vm/gc_sweeper.h" |
+#include "vm/heap_trace.h" |
#include "vm/object.h" |
#include "vm/virtual_memory.h" |
@@ -406,6 +407,10 @@ void PageSpace::MarkSweep(bool invoke_api_callbacks, const char* gc_reason) { |
Isolate* isolate = Isolate::Current(); |
NoHandleScope no_handles(isolate); |
+ if (HeapTrace::is_enabled()) { |
+ isolate->heap()->trace()->TraceMarkSweepStart(); |
+ } |
+ |
if (FLAG_print_free_list_before_gc) { |
OS::Print("Data Freelist (before GC):\n"); |
freelist_[HeapPage::kData].Print(); |
@@ -501,6 +506,10 @@ void PageSpace::MarkSweep(bool invoke_api_callbacks, const char* gc_reason) { |
OS::PrintErr(" done.\n"); |
} |
+ if (HeapTrace::is_enabled()) { |
+ isolate->heap()->trace()->TraceMarkSweepFinish(); |
+ } |
+ |
count_++; |
// Done, reset the marker. |
ASSERT(sweeping_); |