From fc8b422c286501346b5b797420fb616aaa5e952a Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Sun, 17 Sep 2017 13:44:24 -0700 Subject: Clean up AtomicDexRefMap Make ClassReference, TypeReference, and MethodReference extend DexFileReference. This enables using all of these types as the key for AtomicDexRefMap. Test: test-art-host Bug: 63851220 Bug: 63756964 Change-Id: Ida3c94cadb53272cb5057e5cebc5971c1ab4d366 --- compiler/driver/compiler_driver.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'compiler/driver/compiler_driver.h') diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 5043884836..0d1cce7994 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -154,8 +154,8 @@ class CompilerDriver { std::unique_ptr> CreateQuickResolutionTrampoline() const; std::unique_ptr> CreateQuickToInterpreterBridge() const; - bool GetCompiledClass(ClassReference ref, mirror::Class::Status* status) const; - mirror::Class::Status GetClassStatus(ClassReference ref) const; + mirror::Class::Status GetClassStatus(const ClassReference& ref) const; + bool GetCompiledClass(const ClassReference& ref, mirror::Class::Status* status) const; CompiledMethod* GetCompiledMethod(MethodReference ref) const; size_t GetNonRelativeLinkerPatchCount() const; @@ -338,7 +338,7 @@ class CompilerDriver { // according to the profile file. bool ShouldVerifyClassBasedOnProfile(const DexFile& dex_file, uint16_t class_idx) const; - void RecordClassStatus(ClassReference ref, mirror::Class::Status status); + void RecordClassStatus(const ClassReference& ref, mirror::Class::Status status); // Checks if the specified method has been verified without failures. Returns // false if the method is not in the verification results (GetVerificationResults). @@ -489,13 +489,13 @@ class CompilerDriver { std::map requires_constructor_barrier_ GUARDED_BY(requires_constructor_barrier_lock_); - using ClassStateTable = AtomicDexRefMap; // All class references that this compiler has compiled. Indexed by class defs. + using ClassStateTable = AtomicDexRefMap; ClassStateTable compiled_classes_; // All class references that are in the classpath. Indexed by class defs. ClassStateTable classpath_classes_; - typedef AtomicDexRefMap MethodTable; + typedef AtomicDexRefMap MethodTable; private: // All method references that this compiler has compiled. -- cgit v1.2.3-59-g8ed1b