History log of /frameworks/base/core/java/android/app/DexLoadReporter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
eec18f41e2ecbdf95dab6584e72a64f827bb89f7 28-Jul-2017 Calin Juravle <calin@google.com> Change the location of current profiles for secondary dex files

Move the secondary dex profiles inside the oat folder. This makes it
easier to clean them up and "protects" them against apps which may delete
unknown files from their directories (e.g. search).

Bug: 62336157
Test: Manual: boot the device, use the app, check the profiles are
collected in the new location.

Change-Id: I2fbce7591589d162775e4652b12e4698083adcff
/frameworks/base/core/java/android/app/DexLoadReporter.java
f1ff36f0f99ebb41d0c7e0f3248506a56998fa3f 22-Jul-2017 Calin Juravle <calin@google.com> 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)

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 3bec94d78b0a66c4fa5cebd851ea33bcc51916b0)

Change-Id: Ie8b78c7c0d5de43733b3d116f8dcb3a65324cca8
/frameworks/base/core/java/android/app/DexLoadReporter.java
f5a7bfc8d5f9e74d6fa1e5be3246e7b4cde65bf6 14-Mar-2017 Calin Juravle <calin@google.com> Register secondary dex files for JIT profiling

Test: boot, and check that profiles get recorded for secondary dex files

Bug: 32871170
Bug: 26719109
Change-Id: I2de23ef44eee3f1783ae698821f1c6d88c66c9a6
/frameworks/base/core/java/android/app/DexLoadReporter.java
37dfc8ee3ec676a0f059a9f9f1ec5d273e78a502 14-Mar-2017 Calin Juravle <calin@google.com> Move DexLoadReporter out of LoadedApk

The DexLoadReporter was part of LoadedApk in order to lazily initialize
it when the first class loader of the app was created. However there's
no real association between the two and doing the initialization in
LoadedApk buys us nothing.

Extract the reporter in its own class and set it to BaseDexClassLoader
during bindApplication stage.

Test: boot, and check that loaded dex files are reported

Bug: 32871170
Bug: 26719109
Change-Id: I9a0e734ae4c16d5d0979aa6d0061fbc9b6e144f6
/frameworks/base/core/java/android/app/DexLoadReporter.java