Merge "Drop REASON_NON_SYSTEM_LIBRARY." into oc-dev
am: 8d68694951
Change-Id: I5f6f30f0cf894577cf96dfd4d569b9785e48f493
This commit is contained in:
@@ -537,9 +537,8 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
public static final int REASON_INSTALL = 2;
|
public static final int REASON_INSTALL = 2;
|
||||||
public static final int REASON_BACKGROUND_DEXOPT = 3;
|
public static final int REASON_BACKGROUND_DEXOPT = 3;
|
||||||
public static final int REASON_AB_OTA = 4;
|
public static final int REASON_AB_OTA = 4;
|
||||||
public static final int REASON_NON_SYSTEM_LIBRARY = 5;
|
public static final int REASON_SHARED_APK = 5;
|
||||||
public static final int REASON_SHARED_APK = 6;
|
public static final int REASON_FORCED_DEXOPT = 6;
|
||||||
public static final int REASON_FORCED_DEXOPT = 7;
|
|
||||||
|
|
||||||
public static final int REASON_LAST = REASON_FORCED_DEXOPT;
|
public static final int REASON_LAST = REASON_FORCED_DEXOPT;
|
||||||
|
|
||||||
@@ -8461,19 +8460,23 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
? new PackageDexOptimizer.ForcedUpdatePackageDexOptimizer(mPackageDexOptimizer)
|
? new PackageDexOptimizer.ForcedUpdatePackageDexOptimizer(mPackageDexOptimizer)
|
||||||
: mPackageDexOptimizer;
|
: mPackageDexOptimizer;
|
||||||
|
|
||||||
// Optimize all dependencies first. Note: we ignore the return value and march on
|
// Dexopt all dependencies first. Note: we ignore the return value and march on
|
||||||
// on errors.
|
// on errors.
|
||||||
|
// Note that we are going to call performDexOpt on those libraries as many times as
|
||||||
|
// they are referenced in packages. When we do a batch of performDexOpt (for example
|
||||||
|
// at boot, or background job), the passed 'targetCompilerFilter' stays the same,
|
||||||
|
// and the first package that uses the library will dexopt it. The
|
||||||
|
// others will see that the compiled code for the library is up to date.
|
||||||
Collection<PackageParser.Package> deps = findSharedNonSystemLibraries(p);
|
Collection<PackageParser.Package> deps = findSharedNonSystemLibraries(p);
|
||||||
final String[] instructionSets = getAppDexInstructionSets(p.applicationInfo);
|
final String[] instructionSets = getAppDexInstructionSets(p.applicationInfo);
|
||||||
if (!deps.isEmpty()) {
|
if (!deps.isEmpty()) {
|
||||||
for (PackageParser.Package depPackage : deps) {
|
for (PackageParser.Package depPackage : deps) {
|
||||||
// TODO: Analyze and investigate if we (should) profile libraries.
|
// TODO: Analyze and investigate if we (should) profile libraries.
|
||||||
// Currently this will do a full compilation of the library by default.
|
|
||||||
pdo.performDexOpt(depPackage, null /* sharedLibraries */, instructionSets,
|
pdo.performDexOpt(depPackage, null /* sharedLibraries */, instructionSets,
|
||||||
false /* checkProfiles */,
|
false /* checkProfiles */,
|
||||||
getCompilerFilterForReason(REASON_NON_SYSTEM_LIBRARY),
|
targetCompilerFilter,
|
||||||
getOrCreateCompilerPackageStats(depPackage),
|
getOrCreateCompilerPackageStats(depPackage),
|
||||||
mDexManager.isUsedByOtherApps(p.packageName));
|
true /* isUsedByOtherApps */);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return pdo.performDexOpt(p, p.usesLibraryFiles, instructionSets, checkProfiles,
|
return pdo.performDexOpt(p, p.usesLibraryFiles, instructionSets, checkProfiles,
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ import dalvik.system.DexFile;
|
|||||||
public class PackageManagerServiceCompilerMapping {
|
public class PackageManagerServiceCompilerMapping {
|
||||||
// Names for compilation reasons.
|
// Names for compilation reasons.
|
||||||
static final String REASON_STRINGS[] = {
|
static final String REASON_STRINGS[] = {
|
||||||
"first-boot", "boot", "install", "bg-dexopt", "ab-ota", "nsys-library", "shared-apk",
|
"first-boot", "boot", "install", "bg-dexopt", "ab-ota", "shared-apk", "forced-dexopt"
|
||||||
"forced-dexopt"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Static block to ensure the strings array is of the right length.
|
// Static block to ensure the strings array is of the right length.
|
||||||
|
|||||||
Reference in New Issue
Block a user