| 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;
|
|
|