diff options
author | 2020-03-03 16:07:45 -0800 | |
---|---|---|
committer | 2020-03-04 21:14:58 +0000 | |
commit | 8a1a0f719e42746840f88aad079711e9d951b797 (patch) | |
tree | 2a3b3e1bc30a0b15b679f141a6d17380eded4867 /runtime/class_linker_test.cc | |
parent | 23f3d80e307bbacfadd2160f0d5b44731e11c6e4 (diff) |
ART: Ensure dex caches keep classloader live
Live dex caches must keep their associated classloader live. Otherwise
the classloader may get unloaded, attempting to free DexFiles which
cannot be unregistered.
Test: art/test/testrunner/testrunner.py -b --host
Test: m test-art-host-gtest
Change-Id: I0eed5b3b46ed681c739d6923a57d0878afbba1a7
Diffstat (limited to 'runtime/class_linker_test.cc')
-rw-r--r-- | runtime/class_linker_test.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/class_linker_test.cc b/runtime/class_linker_test.cc index 1e501a765b..931f6dfa1b 100644 --- a/runtime/class_linker_test.cc +++ b/runtime/class_linker_test.cc @@ -672,6 +672,7 @@ struct ProxyOffsets : public CheckOffsets<mirror::Proxy> { struct DexCacheOffsets : public CheckOffsets<mirror::DexCache> { DexCacheOffsets() : CheckOffsets<mirror::DexCache>(false, "Ljava/lang/DexCache;") { + addOffset(OFFSETOF_MEMBER(mirror::DexCache, class_loader_), "classLoader"); addOffset(OFFSETOF_MEMBER(mirror::DexCache, dex_file_), "dexFile"); addOffset(OFFSETOF_MEMBER(mirror::DexCache, location_), "location"); addOffset(OFFSETOF_MEMBER(mirror::DexCache, num_preresolved_strings_), "numPreResolvedStrings"); |