Index: runtime/vm/gc_sweeper.cc |
diff --git a/runtime/vm/gc_sweeper.cc b/runtime/vm/gc_sweeper.cc |
index f779b49646d417306074d3a0e671537731b4ac14..609afb9aa9e9a0f4dcfef893afdbda553b8fe297 100644 |
--- a/runtime/vm/gc_sweeper.cc |
+++ b/runtime/vm/gc_sweeper.cc |
@@ -16,6 +16,11 @@ |
namespace dart { |
bool GCSweeper::SweepPage(HeapPage* page, FreeList* freelist, bool locked) { |
+ if (page->embedder_allocated()) { |
+ // Don't clear mark bits. |
+ return true; |
+ } |
+ |
// Keep track whether this page is still in use. |
bool in_use = false; |