diff options
author | 2019-03-05 11:57:13 +0000 | |
---|---|---|
committer | 2019-03-22 18:51:35 +0000 | |
commit | 1a9ac537f52b88dea02d02c3063283e32a085fb5 (patch) | |
tree | 5fb2fce1a45d44d7fe6557f99d38669c9d075f52 /runtime/common_runtime_test.cc | |
parent | e5d93b58a530be39c9a067cdd7f491e4626ec51d (diff) |
Support InMemoryDexClassLoader in ClassLoaderContext
Add new class loader tag IMC to class loader context spec which
represents InMemoryDexClassLoader. A special case is required to not
attempt to open its dex files as the dex location does not correspond
to a real file path. This is achieved by setting load-attempted variable
to 'true' when encountering IMC whilst parsing a spec. Context with IMC
can still have opened dex files if it was created from an existing class
loader.
Bug: 72131483
Test: m test-art-host-gtest-class_loader_context_text
Change-Id: Ic64065819018a1e56dee0f65405d26beb8fd7bbd
Diffstat (limited to 'runtime/common_runtime_test.cc')
-rw-r--r-- | runtime/common_runtime_test.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/common_runtime_test.cc b/runtime/common_runtime_test.cc index ca410d9ba9..87c7ba61b0 100644 --- a/runtime/common_runtime_test.cc +++ b/runtime/common_runtime_test.cc @@ -331,6 +331,13 @@ jobject CommonRuntimeTestImpl::LoadDexInDelegateLastClassLoader(const std::strin parent_loader); } +jobject CommonRuntimeTestImpl::LoadDexInInMemoryDexClassLoader(const std::string& dex_name, + jobject parent_loader) { + return LoadDexInWellKnownClassLoader(dex_name, + WellKnownClasses::dalvik_system_InMemoryDexClassLoader, + parent_loader); +} + void CommonRuntimeTestImpl::FillHeap(Thread* self, ClassLinker* class_linker, VariableSizedHandleScope* handle_scope) { |