| Index: runtime/vm/scavenger.cc
|
| diff --git a/runtime/vm/scavenger.cc b/runtime/vm/scavenger.cc
|
| index 2309e6ca2aa3bb5c5b08cdf062cc4556206060b5..bbd96bde955d0be8e375f5b4b2d17c16dbbd4a73 100644
|
| --- a/runtime/vm/scavenger.cc
|
| +++ b/runtime/vm/scavenger.cc
|
| @@ -896,4 +896,15 @@ void Scavenger::FreeExternal(intptr_t size) {
|
| ASSERT(external_size_ >= 0);
|
| }
|
|
|
| +void Scavenger::UnmarkNewSpace() {
|
| + uword cur = FirstObjectStart();
|
| + while (cur < top_) {
|
| + RawObject* raw_obj = RawObject::FromAddr(cur);
|
| + if (raw_obj->IsMarked() && !raw_obj->IsVMHeapObject()) {
|
| + raw_obj->ClearMarkBit();
|
| + }
|
| + cur += raw_obj->Size();
|
| + }
|
| +}
|
| +
|
| } // namespace dart
|
|
|