Chromium Code Reviews| Index: runtime/vm/object.cc |
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
| index 44261365800636ce2ef3dd96f134bdb548af0821..0a9bc5a9e4c093b69fa36740ac9a184960264106 100644 |
| --- a/runtime/vm/object.cc |
| +++ b/runtime/vm/object.cc |
| @@ -832,11 +832,16 @@ class PremarkingVisitor : public ObjectVisitor { |
| explicit PremarkingVisitor(Isolate* isolate) : ObjectVisitor(isolate) {} |
| void VisitObject(RawObject* obj) { |
| - ASSERT(!obj->IsMarked()); |
| // Free list elements should never be marked. |
| if (!obj->IsFreeListElement()) { |
| ASSERT(obj->IsVMHeapObject()); |
| - obj->SetMarkBitUnsynchronized(); |
| + if (obj->IsMarked()) { |
| + // Precompiled instructions are loaded pre-marked. |
| + ASSERT(Object::IsRunningPrecompiledCode()); |
|
siva
2015/09/15 23:22:01
Yes, here it would be ASSERT(Dart::IsRunningPrecom
rmacnak
2015/09/16 01:34:44
Done.
|
| + ASSERT(obj->IsInstructions()); |
| + } else { |
| + obj->SetMarkBitUnsynchronized(); |
| + } |
| } |
| } |
| }; |