diff options
author | 2021-10-11 19:09:00 -0700 | |
---|---|---|
committer | 2021-10-26 17:36:32 +0000 | |
commit | 9c924e89e5f52da9faadd1e4e60c73eaed6bc9d1 (patch) | |
tree | 8ffdc7f0c144cb392b50144a9ae9cb4ac4d3cca7 /runtime/class_loader_context.h | |
parent | d690f8ae8f8e2675bc52089a83ac18c749f8e6d2 (diff) |
Add support to place shared libraries after the dex path
This allows for a shared library to overriden by content in the dex path
Bug: 179429740
Test: m test-art-host-gtest-art_runtime_tests32
Change-Id: I5f69c7bf32b7bd389eff8bdbb21616ba89ed9e87
Diffstat (limited to 'runtime/class_loader_context.h')
-rw-r--r-- | runtime/class_loader_context.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/class_loader_context.h b/runtime/class_loader_context.h index 33af16a225..eceea00177 100644 --- a/runtime/class_loader_context.h +++ b/runtime/class_loader_context.h @@ -225,6 +225,8 @@ class ClassLoaderContext { ClassLoaderType type; // Shared libraries this context has. std::vector<std::unique_ptr<ClassLoaderInfo>> shared_libraries; + // Shared libraries that will be loaded after apks code that this context has. + std::vector<std::unique_ptr<ClassLoaderInfo>> shared_libraries_after; // The list of class path elements that this loader loads. // Note that this list may contain relative paths. std::vector<std::string> classpath; @@ -297,7 +299,8 @@ class ClassLoaderContext { Handle<mirror::ClassLoader> class_loader, Handle<mirror::ObjectArray<mirror::Object>> dex_elements, ClassLoaderInfo* child_info, - bool is_shared_library) + bool is_shared_library, + bool is_after) REQUIRES_SHARED(Locks::mutator_lock_); // Encodes the context as a string suitable to be passed to dex2oat or to be added to the |