From 8d6768d47b66a688d35399d524ad5a5450e9d9d4 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Tue, 14 Mar 2017 10:13:21 +0000 Subject: Revert^6 "Hash-based dex cache type array." Fixed ImageWriter to write class table also if it contains only boot class loader classes. Added a regression test and added extra checks for debug-build to verify that dex cache types from app image are also in the class table. Removed some unnecessary debug output. Test: 158-app-image-class-table Bug: 34839984 Bug: 30627598 Bug: 34659969 This reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f. Change-Id: I6a747904940c6ebc297f4946feef99dc0adf930c --- runtime/class_table.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'runtime/class_table.h') diff --git a/runtime/class_table.h b/runtime/class_table.h index 711eae45b8..79f5aea399 100644 --- a/runtime/class_table.h +++ b/runtime/class_table.h @@ -144,16 +144,26 @@ class ClassTable { REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); - // Returns the number of classes in previous snapshots. + // Returns the number of classes in previous snapshots defined by `defining_loader`. size_t NumZygoteClasses(ObjPtr defining_loader) const REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); - // Returns all off the classes in the lastest snapshot. + // Returns all off the classes in the lastest snapshot defined by `defining_loader`. size_t NumNonZygoteClasses(ObjPtr defining_loader) const REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); + // Returns the number of classes in previous snapshots no matter the defining loader. + size_t NumReferencedZygoteClasses() const + REQUIRES(!lock_) + REQUIRES_SHARED(Locks::mutator_lock_); + + // Returns all off the classes in the lastest snapshot no matter the defining loader. + size_t NumReferencedNonZygoteClasses() const + REQUIRES(!lock_) + REQUIRES_SHARED(Locks::mutator_lock_); + // Update a class in the table with the new class. Returns the existing class which was replaced. mirror::Class* UpdateClass(const char* descriptor, mirror::Class* new_klass, size_t hash) REQUIRES(!lock_) -- cgit v1.2.3-59-g8ed1b