| Index: runtime/vm/heap.cc
|
| diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc
|
| index c7ce678e19d4a5a890977be5377f5b9db85bcdda..4c9b73b1eb2bc91e3e0875b330d1d85e5efa7bf2 100644
|
| --- a/runtime/vm/heap.cc
|
| +++ b/runtime/vm/heap.cc
|
| @@ -189,6 +189,17 @@ void Heap::VisitObjects(ObjectVisitor* visitor) const {
|
| }
|
|
|
|
|
| +void Heap::VisitObjectsNoExternalPages(ObjectVisitor* visitor) const {
|
| + new_space_.VisitObjects(visitor);
|
| + old_space_.VisitObjectsNoExternalPages(visitor);
|
| +}
|
| +
|
| +
|
| +void Heap::VisitObjectsExternalPages(ObjectVisitor* visitor) const {
|
| + old_space_.VisitObjectsExternalPages(visitor);
|
| +}
|
| +
|
| +
|
| HeapIterationScope::HeapIterationScope(bool writable)
|
| : StackResource(Thread::Current()),
|
| old_space_(isolate()->heap()->old_space()),
|
| @@ -247,9 +258,9 @@ void Heap::IterateOldObjects(ObjectVisitor* visitor) const {
|
| }
|
|
|
|
|
| -void Heap::IterateOldObjectsNoEmbedderPages(ObjectVisitor* visitor) const {
|
| +void Heap::IterateOldObjectsNoExternalPages(ObjectVisitor* visitor) const {
|
| HeapIterationScope heap_iteration_scope;
|
| - old_space_.VisitObjectsNoEmbedderPages(visitor);
|
| + old_space_.VisitObjectsNoExternalPages(visitor);
|
| }
|
|
|
|
|
| @@ -520,7 +531,12 @@ ObjectSet* Heap::CreateAllocatedObjectSet(
|
| {
|
| VerifyObjectVisitor object_visitor(isolate(), allocated_set,
|
| mark_expectation);
|
| - this->VisitObjects(&object_visitor);
|
| + this->VisitObjectsNoExternalPages(&object_visitor);
|
| + }
|
| + {
|
| + VerifyObjectVisitor object_visitor(isolate(), allocated_set,
|
| + kRequireMarked);
|
| + this->VisitObjectsExternalPages(&object_visitor);
|
| }
|
|
|
| Isolate* vm_isolate = Dart::vm_isolate();
|
|
|