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
|