Index: runtime/vm/verifier.cc |
diff --git a/runtime/vm/verifier.cc b/runtime/vm/verifier.cc |
index de125bfd7c5cdcc9088914df9b59cfbb38bb98aa..a2ce0c3b88c9384a64c6c1ac836e62f3c0db4f78 100644 |
--- a/runtime/vm/verifier.cc |
+++ b/runtime/vm/verifier.cc |
@@ -69,9 +69,12 @@ void VerifyWeakPointersVisitor::VisitHandle(uword addr) { |
void VerifyPointersVisitor::VerifyPointers(MarkExpectation mark_expectation) { |
NoSafepointScope no_safepoint; |
- Isolate* isolate = Isolate::Current(); |
+ Thread* thread = Thread::Current(); |
+ Isolate* isolate = thread->isolate(); |
+ StackZone stack_zone(thread); |
ObjectSet* allocated_set = |
- isolate->heap()->CreateAllocatedObjectSet(mark_expectation); |
+ isolate->heap()->CreateAllocatedObjectSet(stack_zone.GetZone(), |
+ mark_expectation); |
VerifyPointersVisitor visitor(isolate, allocated_set); |
// Visit all strongly reachable objects. |
isolate->IterateObjectPointers(&visitor, |
@@ -79,7 +82,6 @@ void VerifyPointersVisitor::VerifyPointers(MarkExpectation mark_expectation) { |
VerifyWeakPointersVisitor weak_visitor(&visitor); |
// Visit weak handles and prologue weak handles. |
isolate->VisitWeakPersistentHandles(&weak_visitor); |
- delete allocated_set; |
} |