From 7dfb28c066159e6cde8181720f0c451a700ef966 Mon Sep 17 00:00:00 2001 From: Ian Rogers Date: Thu, 22 Aug 2013 08:18:36 -0700 Subject: Don't scan image space when starting runtime. Bug 10432288. Find Classes and Strings from dex caches lazily rather than when the image is loaded. Make class status changes do notifies when there can be waiters. For Class lookup there's a pathology if we always search dex caches and so after 1000 failures move all classes into the class table. Be consistent in using "const char*" for class linker descriptors as this most easily agrees with the type in the dex file. Improve the intern run-test so that it has a case of a literal contained in the image. Modify image_test to allow any valid lock word rather than expecting 0, ideally we wouldn't see inflated monitors but we do due to NotifyAll (see bug 6961405). Change-Id: Ia9bfa748eeccb9b4498784b97c6823141b1f6db8 --- runtime/intern_table.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'runtime/intern_table.h') diff --git a/runtime/intern_table.h b/runtime/intern_table.h index 5031ce3..a804d1f 100644 --- a/runtime/intern_table.h +++ b/runtime/intern_table.h @@ -55,10 +55,6 @@ class InternTable { // Interns a potentially new string in the 'weak' table. (See above.) mirror::String* InternWeak(mirror::String* s) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - // Register a String trusting that it is safe to intern. - // Used when reinitializing InternTable from an image. - void RegisterStrong(mirror::String* s) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - void SweepInternTableWeaks(IsMarkedTester is_marked, void* arg) SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_); @@ -88,7 +84,6 @@ class InternTable { mutable Mutex intern_table_lock_; bool is_dirty_; - Table image_strong_interns_ GUARDED_BY(intern_table_lock_); Table strong_interns_ GUARDED_BY(intern_table_lock_); Table weak_interns_ GUARDED_BY(intern_table_lock_); }; -- cgit v1.1