Index: runtime/vm/gc_sweeper.cc |
=================================================================== |
--- runtime/vm/gc_sweeper.cc (revision 42713) |
+++ runtime/vm/gc_sweeper.cc (working copy) |
@@ -44,6 +44,10 @@ |
obj_size = free_end - current; |
if (is_executable) { |
memset(reinterpret_cast<void*>(current), 0xcc, obj_size); |
+ } else { |
+#if defined(DEBUG) |
+ memset(reinterpret_cast<void*>(current), Heap::kZapByte, obj_size); |
+#endif // DEBUG |
} |
if ((current != start) || (free_end != end)) { |
// Only add to the free list if not covering the whole page. |
@@ -77,7 +81,9 @@ |
while (current < end) { |
RawObject* cur_obj = RawObject::FromAddr(current); |
ASSERT(!cur_obj->IsMarked()); |
- current += cur_obj->Size(); |
+ intptr_t obj_size = cur_obj->Size(); |
+ memset(reinterpret_cast<void*>(current), Heap::kZapByte, obj_size); |
+ current += obj_size; |
} |
#endif // DEBUG |
return words_to_end; |