diff options
author | 2016-12-08 11:39:42 +0000 | |
---|---|---|
committer | 2017-03-10 12:59:37 +0000 | |
commit | 1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64 (patch) | |
tree | 94cbab7c3097ce7d3a1feb1a69f28406644af085 /runtime/class_linker.h | |
parent | d1d4530ffa97729aa8944932a7ac2009ae51c7e3 (diff) |
Hash-based DexCache field array.
Test: m test-art-host, both AOT and interpreter
Test: m test-art-target, both AOT and interpreter
Test: m valgrind-test-art-host
Bug: 30627598
Change-Id: If992f091aadd862d17b09928d21659573dd285a0
Diffstat (limited to 'runtime/class_linker.h')
-rw-r--r-- | runtime/class_linker.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/class_linker.h b/runtime/class_linker.h index a5d26c7a88..6254acbb99 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -333,7 +333,7 @@ class ClassLinker { REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::dex_lock_, !Roles::uninterruptible_); - ArtField* GetResolvedField(uint32_t field_idx, ObjPtr<mirror::DexCache> dex_cache) + ArtField* LookupResolvedField(uint32_t field_idx, ArtMethod* referrer, bool is_static) REQUIRES_SHARED(Locks::mutator_lock_); ArtField* ResolveField(uint32_t field_idx, ArtMethod* referrer, bool is_static) REQUIRES_SHARED(Locks::mutator_lock_) @@ -842,6 +842,13 @@ class ClassLinker { REQUIRES(!Locks::classlinker_classes_lock_) REQUIRES_SHARED(Locks::mutator_lock_); + // Find a field by its field index. + ArtField* LookupResolvedField(uint32_t field_idx, + ObjPtr<mirror::DexCache> dex_cache, + ObjPtr<mirror::ClassLoader> class_loader, + bool is_static) + REQUIRES_SHARED(Locks::mutator_lock_); + void RegisterDexFileLocked(const DexFile& dex_file, ObjPtr<mirror::DexCache> dex_cache, ObjPtr<mirror::ClassLoader> class_loader) |