diff options
| author | Calin Juravle <calin@google.com> | 2020-02-15 01:18:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-02-15 01:18:03 +0000 |
| commit | d42527b844ef9dd0de534089db88923292418e19 (patch) | |
| tree | 5ad241a812ac471ed484d8eb7fa9d3b147297c2b /core/java | |
| parent | 5a01991fef71bc601d8325ae1f7ba3fe0d0438b8 (diff) | |
| parent | 4cae6f7fd07982a7ec1a69e9ee162373d6c9812f (diff) | |
Merge "Pass system server class loader context when asking GetDexOptNeeded"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 1b81a06f8b9a..decc92cfc0c4 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -647,17 +647,18 @@ public class ZygoteInit { String classPathForElement = ""; boolean compiledSomething = false; for (String classPathElement : classPathElements) { - // System server is fully AOTed and never profiled - // for profile guided compilation. + // We default to the verify filter because the compilation will happen on /data and + // system server cannot load executable code outside /system. String systemServerFilter = SystemProperties.get( - "dalvik.vm.systemservercompilerfilter", "speed"); + "dalvik.vm.systemservercompilerfilter", "verify"); + String classLoaderContext = + getSystemServerClassLoaderContext(classPathForElement); int dexoptNeeded; try { dexoptNeeded = DexFile.getDexOptNeeded( classPathElement, instructionSet, systemServerFilter, - null /* classLoaderContext */, false /* newProfile */, - false /* downgrade */); + classLoaderContext, false /* newProfile */, false /* downgrade */); } catch (FileNotFoundException ignored) { // Do not add to the classpath. Log.w(TAG, "Missing classpath element for system server: " + classPathElement); @@ -678,8 +679,6 @@ public class ZygoteInit { final String compilerFilter = systemServerFilter; final String uuid = StorageManager.UUID_PRIVATE_INTERNAL; final String seInfo = null; - final String classLoaderContext = - getSystemServerClassLoaderContext(classPathForElement); final int targetSdkVersion = 0; // SystemServer targets the system's SDK version try { installd.dexopt(classPathElement, Process.SYSTEM_UID, packageName, |
