diff options
Diffstat (limited to 'runtime/gc/reference_queue.cc')
-rw-r--r-- | runtime/gc/reference_queue.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/gc/reference_queue.cc b/runtime/gc/reference_queue.cc index 19476e62c2..c3931e8bdc 100644 --- a/runtime/gc/reference_queue.cc +++ b/runtime/gc/reference_queue.cc @@ -163,5 +163,11 @@ void ReferenceQueue::ForwardSoftReferences(IsHeapReferenceMarkedCallback* preser } while (LIKELY(ref != head)); } +void ReferenceQueue::UpdateRoots(IsMarkedCallback* callback, void* arg) { + if (list_ != nullptr) { + list_ = down_cast<mirror::Reference*>(callback(list_, arg)); + } +} + } // namespace gc } // namespace art |