diff options
Diffstat (limited to 'runtime/class_table.cc')
-rw-r--r-- | runtime/class_table.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/class_table.cc b/runtime/class_table.cc index 03921a132a..bd5d38f80d 100644 --- a/runtime/class_table.cc +++ b/runtime/class_table.cc @@ -30,7 +30,11 @@ ClassTable::ClassTable() : lock_("Class loader classes", kClassLoaderClassesLock void ClassTable::FreezeSnapshot() { WriterMutexLock mu(Thread::Current(), lock_); - classes_.push_back(ClassSet()); + // Propagate the min/max load factor from the old active set. + DCHECK(!classes_.empty()); + const ClassSet& last_set = classes_.back(); + ClassSet new_set(last_set.GetMinLoadFactor(), last_set.GetMaxLoadFactor()); + classes_.push_back(std::move(new_set)); } ObjPtr<mirror::Class> ClassTable::UpdateClass(const char* descriptor, |