summaryrefslogtreecommitdiff
path: root/runtime/class_linker_test.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@fb.com> 2020-03-03 16:07:45 -0800
committer Mathieu Chartier <mathieuc@google.com> 2020-03-04 21:14:58 +0000
commit8a1a0f719e42746840f88aad079711e9d951b797 (patch)
tree2a3b3e1bc30a0b15b679f141a6d17380eded4867 /runtime/class_linker_test.cc
parent23f3d80e307bbacfadd2160f0d5b44731e11c6e4 (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.cc1
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");