Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d5242b6 authored by Calin Juravle's avatar Calin Juravle
Browse files

Merge "Pass system server class loader context when asking GetDexOptNeeded"...

Merge "Pass system server class loader context when asking GetDexOptNeeded" am: d42527b8 am: 7d3380d6

Change-Id: I14ce3011adbabfbe1c10e31a4e0fd16fb1a4c608
parents 3c900398 7d3380d6
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -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,