Index: runtime/vm/pages.cc |
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc |
index 68a0530a83b9ad1cfe4b2f20118e576c574cfd32..d7388fc83914d94c81058017eeddc1f60d930dad 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" |
@@ -403,6 +404,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:\n"); |
freelist_[HeapPage::kData].Print(); |
@@ -498,6 +503,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_); |