summaryrefslogtreecommitdiff
path: root/runtime/class_table.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/class_table.cc')
-rw-r--r--runtime/class_table.cc6
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,