diff options
author | 2016-12-01 17:42:00 +0000 | |
---|---|---|
committer | 2016-12-01 17:43:09 +0000 | |
commit | 2c8c6b63da6ecb2ac701cc30f9b4fa4a8eea5cc8 (patch) | |
tree | 7b5e29f66a840e5e83c02df0b23d05501b0d63c5 /runtime/class_table.cc | |
parent | 6afaa42f50157095a3cdc742afdbc3d58b833eea (diff) |
Revert "Make sure that const-class linkage is preserved, try again."
Reverting due to test failures as expected.
Bug: 30627598
Bug: 33231647
This reverts commit cb5ab35980a86b05586c402924d2e7ca9df25758.
Squashed revert "Additional debug logging for bug 33231647."
This reverts commit 00a441033db28d243fc33692d30eb2755fa81728.
Change-Id: I0c0ee1f70d47540fec99f8a797ce13571c16147c
Diffstat (limited to 'runtime/class_table.cc')
-rw-r--r-- | runtime/class_table.cc | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/runtime/class_table.cc b/runtime/class_table.cc index 81cdce57a8..0fcce6b307 100644 --- a/runtime/class_table.cc +++ b/runtime/class_table.cc @@ -83,29 +83,18 @@ mirror::Class* ClassTable::UpdateClass(const char* descriptor, mirror::Class* kl #pragma clang diagnostic pop // http://b/31104323 -size_t ClassTable::CountDefiningLoaderClasses(ObjPtr<mirror::ClassLoader> defining_loader, - const ClassSet& set) const { - size_t count = 0; - for (const GcRoot<mirror::Class>& klass : set) { - if (klass.Read()->GetClassLoader() == defining_loader) { - ++count; - } - } - return count; -} - -size_t ClassTable::NumZygoteClasses(ObjPtr<mirror::ClassLoader> defining_loader) const { +size_t ClassTable::NumZygoteClasses() const { ReaderMutexLock mu(Thread::Current(), lock_); size_t sum = 0; for (size_t i = 0; i < classes_.size() - 1; ++i) { - sum += CountDefiningLoaderClasses(defining_loader, classes_[i]); + sum += classes_[i].Size(); } return sum; } -size_t ClassTable::NumNonZygoteClasses(ObjPtr<mirror::ClassLoader> defining_loader) const { +size_t ClassTable::NumNonZygoteClasses() const { ReaderMutexLock mu(Thread::Current(), lock_); - return CountDefiningLoaderClasses(defining_loader, classes_.back()); + return classes_.back().Size(); } mirror::Class* ClassTable::Lookup(const char* descriptor, size_t hash) { @@ -113,7 +102,7 @@ mirror::Class* ClassTable::Lookup(const char* descriptor, size_t hash) { for (ClassSet& class_set : classes_) { auto it = class_set.FindWithHash(descriptor, hash); if (it != class_set.end()) { - return it->Read(); + return it->Read(); } } return nullptr; @@ -153,6 +142,7 @@ uint32_t ClassTable::ClassDescriptorHashEquals::operator()(const GcRoot<mirror:: bool ClassTable::ClassDescriptorHashEquals::operator()(const GcRoot<mirror::Class>& a, const GcRoot<mirror::Class>& b) const { + DCHECK_EQ(a.Read()->GetClassLoader(), b.Read()->GetClassLoader()); std::string temp; return a.Read()->DescriptorEquals(b.Read()->GetDescriptor(&temp)); } |