diff options
Diffstat (limited to 'runtime/class_table.cc')
-rw-r--r-- | runtime/class_table.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/class_table.cc b/runtime/class_table.cc index 7c3ad12b61..374b711aa8 100644 --- a/runtime/class_table.cc +++ b/runtime/class_table.cc @@ -113,6 +113,20 @@ size_t ClassTable::NumNonZygoteClasses(ObjPtr<mirror::ClassLoader> defining_load return CountDefiningLoaderClasses(defining_loader, classes_.back()); } +size_t ClassTable::NumReferencedZygoteClasses() const { + ReaderMutexLock mu(Thread::Current(), lock_); + size_t sum = 0; + for (size_t i = 0; i < classes_.size() - 1; ++i) { + sum += classes_[i].Size(); + } + return sum; +} + +size_t ClassTable::NumReferencedNonZygoteClasses() const { + ReaderMutexLock mu(Thread::Current(), lock_); + return classes_.back().Size(); +} + mirror::Class* ClassTable::Lookup(const char* descriptor, size_t hash) { DescriptorHashPair pair(descriptor, hash); ReaderMutexLock mu(Thread::Current(), lock_); |