From cc1b5357f83f0b787d51fbfde3fe870c8a2fa050 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Thu, 1 Dec 2016 16:58:38 -0800 Subject: ART: Clean up ClassLinker Try to clean up and simplify ClassLinker. Move dex_lock to Locks. Remove dead code. Move single-use code to user. Hide implementation details from header. Test: m test-art-host Change-Id: I58150fa9c2a9524f8304370270c2197d655cb3a8 --- compiler/image_writer.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'compiler') diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc index fb5560b124..7bb2bb71a9 100644 --- a/compiler/image_writer.cc +++ b/compiler/image_writer.cc @@ -433,7 +433,7 @@ void ImageWriter::PrepareDexCacheArraySlots() { ClassLinker* class_linker = Runtime::Current()->GetClassLinker(); Thread* const self = Thread::Current(); - ReaderMutexLock mu(self, *class_linker->DexLock()); + ReaderMutexLock mu(self, *Locks::dex_lock_); for (const ClassLinker::DexCacheData& data : class_linker->GetDexCachesData()) { ObjPtr dex_cache = ObjPtr::DownCast(self->DecodeJObject(data.weak_root)); @@ -884,7 +884,7 @@ void ImageWriter::PruneNonImageClasses() { ScopedAssertNoThreadSuspension sa(__FUNCTION__); ReaderMutexLock mu(self, *Locks::classlinker_classes_lock_); // For ClassInClassTable - ReaderMutexLock mu2(self, *class_linker->DexLock()); + ReaderMutexLock mu2(self, *Locks::dex_lock_); for (const ClassLinker::DexCacheData& data : class_linker->GetDexCachesData()) { if (self->IsJWeakCleared(data.weak_root)) { continue; @@ -1013,7 +1013,7 @@ ObjectArray* ImageWriter::CreateImageRoots(size_t oat_index) const { // caches. We check that the number of dex caches does not change. size_t dex_cache_count = 0; { - ReaderMutexLock mu(self, *class_linker->DexLock()); + ReaderMutexLock mu(self, *Locks::dex_lock_); // Count number of dex caches not in the boot image. for (const ClassLinker::DexCacheData& data : class_linker->GetDexCachesData()) { ObjPtr dex_cache = @@ -1031,7 +1031,7 @@ ObjectArray* ImageWriter::CreateImageRoots(size_t oat_index) const { hs.NewHandle(ObjectArray::Alloc(self, object_array_class.Get(), dex_cache_count))); CHECK(dex_caches.Get() != nullptr) << "Failed to allocate a dex cache array."; { - ReaderMutexLock mu(self, *class_linker->DexLock()); + ReaderMutexLock mu(self, *Locks::dex_lock_); size_t non_image_dex_caches = 0; // Re-count number of non image dex caches. for (const ClassLinker::DexCacheData& data : class_linker->GetDexCachesData()) { -- cgit v1.2.3-59-g8ed1b