Chromium Code Reviews| Index: runtime/vm/object.cc |
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
| index 123034e7d549837a741459b4a00fa14b5b0e216f..85fd5b824aaca717306b2b07a95f6c99162c3528 100644 |
| --- a/runtime/vm/object.cc |
| +++ b/runtime/vm/object.cc |
| @@ -832,11 +832,15 @@ 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(obj->IsInstructions()); |
| + } else { |
| + obj->SetMarkBitUnsynchronized(); |
| + } |
|
siva
2015/09/14 21:29:34
Shouldn't this be:
if (obj->IsMarked()) {
// Pr
rmacnak
2015/09/15 20:07:45
Done.
|
| } |
| } |
| }; |