diff options
Diffstat (limited to 'runtime/gc/heap.cc')
| -rw-r--r-- | runtime/gc/heap.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc index fbde4947c0..59d0259f2b 100644 --- a/runtime/gc/heap.cc +++ b/runtime/gc/heap.cc @@ -1630,7 +1630,12 @@ size_t Heap::GetObjectsAllocated() const { } uint64_t Heap::GetObjectsAllocatedEver() const { - return GetObjectsFreedEver() + GetObjectsAllocated(); + uint64_t total = GetObjectsFreedEver(); + // If we are detached, we can't use GetObjectsAllocated since we can't change thread states. + if (Thread::Current() != nullptr) { + total += GetObjectsAllocated(); + } + return total; } uint64_t Heap::GetBytesAllocatedEver() const { |