From c477ab141f9171f329c96b97ee073354847f727c Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 15 Jun 2017 19:09:38 -0700 Subject: [PATCH] Add property for system server compiler filter The property is dalvik.vm.systemservercompilerfilter, this changes if dexopt is needed. (cherry picked from commit 5e07a0d9cacb1bf943f4617b1edcb930e1578dad) Bug: 62356545 Test: adb shell setprop dalvik.vm.systemservercompilerfilter quicken Test: adb shell stop && adb shell start Merged-In: I2ef3737f24816a4cb75e718abf274a891eb9fda1 Change-Id: I2ef3737f24816a4cb75e718abf274a891eb9fda1 --- core/java/com/android/internal/os/ZygoteInit.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 6d8b81170e21c..2fd252170bbf8 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -546,12 +546,13 @@ public class ZygoteInit { for (String classPathElement : classPathElements) { // System server is fully AOTed and never profiled // for profile guided compilation. - // TODO: Make this configurable between INTERPRET_ONLY, SPEED, SPACE and EVERYTHING? + String systemServerFilter = SystemProperties.get( + "dalvik.vm.systemservercompilerfilter", "speed"); int dexoptNeeded; try { dexoptNeeded = DexFile.getDexOptNeeded( - classPathElement, instructionSet, "speed", + classPathElement, instructionSet, systemServerFilter, false /* newProfile */, false /* downgrade */); } catch (FileNotFoundException ignored) { // Do not add to the classpath. @@ -570,7 +571,7 @@ public class ZygoteInit { final String packageName = "*"; final String outputPath = null; final int dexFlags = 0; - final String compilerFilter = "speed"; + final String compilerFilter = systemServerFilter; final String uuid = StorageManager.UUID_PRIVATE_INTERNAL; final String seInfo = null; try {