diff options
Diffstat (limited to 'runtime/cha.h')
| -rw-r--r-- | runtime/cha.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/runtime/cha.h b/runtime/cha.h index 99c49d2bca..81458db601 100644 --- a/runtime/cha.h +++ b/runtime/cha.h @@ -17,7 +17,6 @@ #ifndef ART_RUNTIME_CHA_H_ #define ART_RUNTIME_CHA_H_ -#include "art_method.h" #include "base/enums.h" #include "base/mutex.h" #include "handle.h" @@ -28,6 +27,8 @@ namespace art { +class ArtMethod; + /** * Class Hierarchy Analysis (CHA) tries to devirtualize virtual calls into * direct calls based on the info generated by analyzing class hierarchies. @@ -94,12 +95,11 @@ class ClassHierarchyAnalysis { OatQuickMethodHeader* dependent_header) REQUIRES(Locks::cha_lock_); // Return compiled code that assumes that `method` has single-implementation. - std::vector<MethodAndMethodHeaderPair>* GetDependents(ArtMethod* method) - REQUIRES(Locks::cha_lock_); + const ListOfDependentPairs& GetDependents(ArtMethod* method) REQUIRES(Locks::cha_lock_); // Remove dependency tracking for compiled code that assumes that // `method` has single-implementation. - void RemoveDependencyFor(ArtMethod* method) REQUIRES(Locks::cha_lock_); + void RemoveAllDependenciesFor(ArtMethod* method) REQUIRES(Locks::cha_lock_); // Remove from cha_dependency_map_ all entries that contain OatQuickMethodHeader from // the given `method_headers` set. @@ -158,7 +158,7 @@ class ClassHierarchyAnalysis { // A map that maps a method to a set of compiled code that assumes that method has a // single implementation, which is used to do CHA-based devirtualization. - std::unordered_map<ArtMethod*, ListOfDependentPairs*> cha_dependency_map_ + std::unordered_map<ArtMethod*, ListOfDependentPairs> cha_dependency_map_ GUARDED_BY(Locks::cha_lock_); DISALLOW_COPY_AND_ASSIGN(ClassHierarchyAnalysis); |