| Index: runtime/vm/scavenger.cc
|
| diff --git a/runtime/vm/scavenger.cc b/runtime/vm/scavenger.cc
|
| index d322981bafa12f48dc266446600044ae33e793f8..e87139ec92dcf059bc2db06f3ab6c90acb92f332 100644
|
| --- a/runtime/vm/scavenger.cc
|
| +++ b/runtime/vm/scavenger.cc
|
| @@ -140,6 +140,10 @@ class ScavengerWeakVisitor : public HandleVisitor {
|
| WeakPersistentHandle* handle =
|
| reinterpret_cast<WeakPersistentHandle*>(addr);
|
| RawObject* raw_obj = handle->raw();
|
| + if (!raw_obj->IsHeapObject()) {
|
| + // Deleted handles are identified by a Smi as the raw object value.
|
| + return;
|
| + }
|
| uword raw_addr = RawObject::ToAddr(raw_obj);
|
| if (scavenger_->from_->Contains(raw_addr)) {
|
| uword header = *reinterpret_cast<uword*>(raw_addr);
|
|
|