Use the class loader context when optimizing secondary dex files
Record the class loader context for secondary dex loads and pass it to dexopt during compilation. The class loader context is passed from libcore every time a BaseDexClassLoader is created and its recorded in the package dex usage file. Note that the context may be: - unknown: if the dex file was not use after the the upgrade and its context was not yet updated - unsupported: if any of the class loaders from the loading context is unsupported (only PathClassLoader and DelegateLastClassLoader are supported). - variable: if it changes over time, form one run to another. In all the above cases the old compilation behavior is preserved for now.(i.e. the dex file with be compiled with SKIP_SHARED_LIBRARY_CHECK) (cherry picked from commit f1ff36f0) Bug: 38138251 Test: runtest -x services/tests/servicestests/src/com/android/server/pm/dex/ adb shell cmd package compile -f -m quicken ^Csecondary-dex com.google.android.gms (cherry picked from commit 3bec94d7) Merged-In: Ie8b78c7c0d5de43733b3d116f8dcb3a65324cca8 Change-Id: Ie8b78c7c0d5de43733b3d116f8dcb3a65324cca8
Loading
Please register or sign in to comment