summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2017-05-11 09:43:44 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-05-11 09:43:49 +0000
commita6a73ff55aefc13a51603ad18f3e22ef77425cc3 (patch)
tree34abe1531492ff550b645fa1dfd92ba50e169a0a
parent0996c7a70b0d469669eaaa1b7d3545832e8ce207 (diff)
parent9b5a06037f80dff46218b1611862c1fd2b3df8b2 (diff)
Merge "Handle safe mode in PackageManager." into oc-dev
-rw-r--r--services/core/java/com/android/server/pm/PackageDexOptimizer.java12
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java3
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java7
3 files changed, 6 insertions, 16 deletions
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 59bce8fc68db..8ca7b960e253 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -56,7 +56,9 @@ import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
import static com.android.server.pm.InstructionSets.getDexCodeInstructionSets;
import static com.android.server.pm.PackageManagerService.WATCHDOG_TIMEOUT;
-import static com.android.server.pm.PackageManagerServiceCompilerMapping.getNonProfileGuidedCompilerFilter;
+
+import static dalvik.system.DexFile.getNonProfileGuidedCompilerFilter;
+import static dalvik.system.DexFile.getSafeModeCompilerFilter;
import static dalvik.system.DexFile.isProfileGuidedCompilerFilter;
/**
@@ -381,13 +383,7 @@ public class PackageDexOptimizer {
int flags = info.flags;
boolean vmSafeMode = (flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
if (vmSafeMode) {
- // For the compilation, it doesn't really matter what we return here because installd
- // will replace the filter with 'quicken' anyway.
- // However, we return a non profile guided filter so that we simplify the logic of
- // merging profiles.
- // TODO(calin): safe mode path could be simplified if we pass 'quicken' from
- // here rather than letting installd decide on the filter.
- return getNonProfileGuidedCompilerFilter(targetCompilerFilter);
+ return getSafeModeCompilerFilter(targetCompilerFilter);
}
if (isProfileGuidedCompilerFilter(targetCompilerFilter) && isUsedByOtherApps) {
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index f1e4e12f4ce5..e4b5241c4835 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -97,11 +97,12 @@ import static com.android.server.pm.InstructionSets.getPreferredInstructionSet;
import static com.android.server.pm.InstructionSets.getPrimaryInstructionSet;
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getCompilerFilterForReason;
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getDefaultCompilerFilter;
-import static com.android.server.pm.PackageManagerServiceCompilerMapping.getNonProfileGuidedCompilerFilter;
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_FAILURE;
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_SUCCESS;
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED;
+import static dalvik.system.DexFile.getNonProfileGuidedCompilerFilter;
+
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java b/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java
index 284bb3f1f69b..ec248f5719b3 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java
@@ -111,11 +111,4 @@ public class PackageManagerServiceCompilerMapping {
return value;
}
-
- /**
- * Return the non-profile-guided filter corresponding to the given filter.
- */
- public static String getNonProfileGuidedCompilerFilter(String filter) {
- return DexFile.getNonProfileGuidedCompilerFilter(filter);
- }
}