// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/heap/combined-heap.h" #include "src/heap/heap-inl.h" namespace v8 { namespace internal { CombinedHeapObjectIterator::CombinedHeapObjectIterator( Heap* heap, HeapObjectIterator::HeapObjectsFiltering filtering) : safepoint_scope_(heap), heap_iterator_(heap, filtering), ro_heap_iterator_(heap->isolate()->read_only_heap()) {} HeapObject CombinedHeapObjectIterator::Next() { HeapObject object = ro_heap_iterator_.Next(); if (!object.is_null()) { return object; } return heap_iterator_.Next(); } } // namespace internal } // namespace v8