Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index b0b4f4f57626a1215ed5c10b2efe8bfe7834c7d5..9d6b0fee82f8dbe6988e0030bdf88becf5040f2c 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -912,18 +912,10 @@ class PremarkingVisitor : public ObjectVisitor { |
void VisitObject(RawObject* obj) { |
// Free list elements should never be marked. |
+ ASSERT(!obj->IsMarked()); |
if (!obj->IsFreeListElement()) { |
ASSERT(obj->IsVMHeapObject()); |
- if (obj->IsMarked()) { |
- // Precompiled objects are loaded pre-marked. |
- ASSERT(Dart::IsRunningPrecompiledCode()); |
- ASSERT(obj->IsInstructions() || |
- obj->IsPcDescriptors() || |
- obj->IsStackmap() || |
- obj->IsOneByteString()); |
- } else { |
- obj->SetMarkBitUnsynchronized(); |
- } |
+ obj->SetMarkBitUnsynchronized(); |
} |
} |
}; |
@@ -994,11 +986,10 @@ void Object::FinalizeVMIsolate(Isolate* isolate) { |
{ |
ASSERT(isolate == Dart::vm_isolate()); |
- bool include_code_pages = !Dart::IsRunningPrecompiledCode(); |
- WritableVMIsolateScope scope(Thread::Current(), include_code_pages); |
+ WritableVMIsolateScope scope(Thread::Current()); |
PremarkingVisitor premarker(isolate); |
ASSERT(isolate->heap()->UsedInWords(Heap::kNew) == 0); |
- isolate->heap()->IterateOldObjects(&premarker); |
+ isolate->heap()->IterateOldObjectsNoEmbedderPages(&premarker); |
// Make the VM isolate read-only again after setting all objects as marked. |
} |
} |