Merge "No need to pass shared library infos explicitly in performDexOpt."
am: a838467fb4
Change-Id: I5e584b4b2d813e02a92113fcc961f95cd9f10448
This commit is contained in:
@@ -333,7 +333,7 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
|
|||||||
PackageDexOptimizer optimizer = new OTADexoptPackageDexOptimizer(
|
PackageDexOptimizer optimizer = new OTADexoptPackageDexOptimizer(
|
||||||
collectingInstaller, mPackageManagerService.mInstallLock, mContext);
|
collectingInstaller, mPackageManagerService.mInstallLock, mContext);
|
||||||
|
|
||||||
optimizer.performDexOpt(pkg, pkg.usesLibraryInfos,
|
optimizer.performDexOpt(pkg,
|
||||||
null /* ISAs */,
|
null /* ISAs */,
|
||||||
null /* CompilerStats.PackageStats */,
|
null /* CompilerStats.PackageStats */,
|
||||||
mPackageManagerService.getDexManager().getPackageUseInfoOrDefault(pkg.packageName),
|
mPackageManagerService.getDexManager().getPackageUseInfoOrDefault(pkg.packageName),
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class PackageDexOptimizer {
|
|||||||
* <p>Calls to {@link com.android.server.pm.Installer#dexopt} on {@link #mInstaller} are
|
* <p>Calls to {@link com.android.server.pm.Installer#dexopt} on {@link #mInstaller} are
|
||||||
* synchronized on {@link #mInstallLock}.
|
* synchronized on {@link #mInstallLock}.
|
||||||
*/
|
*/
|
||||||
int performDexOpt(PackageParser.Package pkg, List<SharedLibraryInfo> sharedLibraries,
|
int performDexOpt(PackageParser.Package pkg,
|
||||||
String[] instructionSets, CompilerStats.PackageStats packageStats,
|
String[] instructionSets, CompilerStats.PackageStats packageStats,
|
||||||
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
||||||
if (pkg.applicationInfo.uid == -1) {
|
if (pkg.applicationInfo.uid == -1) {
|
||||||
@@ -140,7 +140,7 @@ public class PackageDexOptimizer {
|
|||||||
synchronized (mInstallLock) {
|
synchronized (mInstallLock) {
|
||||||
final long acquireTime = acquireWakeLockLI(pkg.applicationInfo.uid);
|
final long acquireTime = acquireWakeLockLI(pkg.applicationInfo.uid);
|
||||||
try {
|
try {
|
||||||
return performDexOptLI(pkg, sharedLibraries, instructionSets,
|
return performDexOptLI(pkg, instructionSets,
|
||||||
packageStats, packageUseInfo, options);
|
packageStats, packageUseInfo, options);
|
||||||
} finally {
|
} finally {
|
||||||
releaseWakeLockLI(acquireTime);
|
releaseWakeLockLI(acquireTime);
|
||||||
@@ -154,9 +154,9 @@ public class PackageDexOptimizer {
|
|||||||
*/
|
*/
|
||||||
@GuardedBy("mInstallLock")
|
@GuardedBy("mInstallLock")
|
||||||
private int performDexOptLI(PackageParser.Package pkg,
|
private int performDexOptLI(PackageParser.Package pkg,
|
||||||
List<SharedLibraryInfo> sharedLibraries,
|
|
||||||
String[] targetInstructionSets, CompilerStats.PackageStats packageStats,
|
String[] targetInstructionSets, CompilerStats.PackageStats packageStats,
|
||||||
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
||||||
|
final List<SharedLibraryInfo> sharedLibraries = pkg.usesLibraryInfos;
|
||||||
final String[] instructionSets = targetInstructionSets != null ?
|
final String[] instructionSets = targetInstructionSets != null ?
|
||||||
targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo);
|
targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo);
|
||||||
final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
|
final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
|
||||||
|
|||||||
@@ -9452,12 +9452,12 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
options.getFlags() | DexoptOptions.DEXOPT_AS_SHARED_LIBRARY);
|
options.getFlags() | DexoptOptions.DEXOPT_AS_SHARED_LIBRARY);
|
||||||
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.
|
||||||
pdo.performDexOpt(depPackage, null /* sharedLibraries */, instructionSets,
|
pdo.performDexOpt(depPackage, instructionSets,
|
||||||
getOrCreateCompilerPackageStats(depPackage),
|
getOrCreateCompilerPackageStats(depPackage),
|
||||||
mDexManager.getPackageUseInfoOrDefault(depPackage.packageName), libraryOptions);
|
mDexManager.getPackageUseInfoOrDefault(depPackage.packageName), libraryOptions);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return pdo.performDexOpt(p, p.usesLibraryInfos, instructionSets,
|
return pdo.performDexOpt(p, instructionSets,
|
||||||
getOrCreateCompilerPackageStats(p),
|
getOrCreateCompilerPackageStats(p),
|
||||||
mDexManager.getPackageUseInfoOrDefault(p.packageName), options);
|
mDexManager.getPackageUseInfoOrDefault(p.packageName), options);
|
||||||
}
|
}
|
||||||
@@ -17806,7 +17806,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
REASON_INSTALL,
|
REASON_INSTALL,
|
||||||
DexoptOptions.DEXOPT_BOOT_COMPLETE |
|
DexoptOptions.DEXOPT_BOOT_COMPLETE |
|
||||||
DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
|
DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
|
||||||
mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryInfos,
|
mPackageDexOptimizer.performDexOpt(pkg,
|
||||||
null /* instructionSets */,
|
null /* instructionSets */,
|
||||||
getOrCreateCompilerPackageStats(pkg),
|
getOrCreateCompilerPackageStats(pkg),
|
||||||
mDexManager.getPackageUseInfoOrDefault(pkg.packageName),
|
mDexManager.getPackageUseInfoOrDefault(pkg.packageName),
|
||||||
|
|||||||
Reference in New Issue
Block a user