Index: runtime/vm/pages.cc |
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc |
index e6c4b378145fa7f96fe5a9423f9d279ab6a834e6..a0d75fcc36c610b0fb1a728a9d0526c65b72a25c 100644 |
--- a/runtime/vm/pages.cc |
+++ b/runtime/vm/pages.cc |
@@ -7,6 +7,7 @@ |
#include "platform/assert.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" |
@@ -399,6 +400,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(); |
@@ -494,6 +499,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_); |