No need to pass shared library infos explicitly in performDexOpt.
The method can just infer it from the passed package. Test: m && atest BackgroundDexOptServiceIntegrationTests Change-Id: I676ee7d49600a36a8bd54893679d7dc900da2012
This commit is contained in:
@@ -333,7 +333,7 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
|
||||
PackageDexOptimizer optimizer = new OTADexoptPackageDexOptimizer(
|
||||
collectingInstaller, mPackageManagerService.mInstallLock, mContext);
|
||||
|
||||
optimizer.performDexOpt(pkg, pkg.usesLibraryInfos,
|
||||
optimizer.performDexOpt(pkg,
|
||||
null /* ISAs */,
|
||||
null /* CompilerStats.PackageStats */,
|
||||
mPackageManagerService.getDexManager().getPackageUseInfoOrDefault(pkg.packageName),
|
||||
|
||||
@@ -125,7 +125,7 @@ public class PackageDexOptimizer {
|
||||
* <p>Calls to {@link com.android.server.pm.Installer#dexopt} on {@link #mInstaller} are
|
||||
* synchronized on {@link #mInstallLock}.
|
||||
*/
|
||||
int performDexOpt(PackageParser.Package pkg, List<SharedLibraryInfo> sharedLibraries,
|
||||
int performDexOpt(PackageParser.Package pkg,
|
||||
String[] instructionSets, CompilerStats.PackageStats packageStats,
|
||||
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
||||
if (pkg.applicationInfo.uid == -1) {
|
||||
@@ -138,7 +138,7 @@ public class PackageDexOptimizer {
|
||||
synchronized (mInstallLock) {
|
||||
final long acquireTime = acquireWakeLockLI(pkg.applicationInfo.uid);
|
||||
try {
|
||||
return performDexOptLI(pkg, sharedLibraries, instructionSets,
|
||||
return performDexOptLI(pkg, instructionSets,
|
||||
packageStats, packageUseInfo, options);
|
||||
} finally {
|
||||
releaseWakeLockLI(acquireTime);
|
||||
@@ -152,9 +152,9 @@ public class PackageDexOptimizer {
|
||||
*/
|
||||
@GuardedBy("mInstallLock")
|
||||
private int performDexOptLI(PackageParser.Package pkg,
|
||||
List<SharedLibraryInfo> sharedLibraries,
|
||||
String[] targetInstructionSets, CompilerStats.PackageStats packageStats,
|
||||
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
||||
final List<SharedLibraryInfo> sharedLibraries = pkg.usesLibraryInfos;
|
||||
final String[] instructionSets = targetInstructionSets != null ?
|
||||
targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo);
|
||||
final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
|
||||
|
||||
@@ -9413,12 +9413,12 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
options.getFlags() | DexoptOptions.DEXOPT_AS_SHARED_LIBRARY);
|
||||
for (PackageParser.Package depPackage : deps) {
|
||||
// TODO: Analyze and investigate if we (should) profile libraries.
|
||||
pdo.performDexOpt(depPackage, null /* sharedLibraries */, instructionSets,
|
||||
pdo.performDexOpt(depPackage, instructionSets,
|
||||
getOrCreateCompilerPackageStats(depPackage),
|
||||
mDexManager.getPackageUseInfoOrDefault(depPackage.packageName), libraryOptions);
|
||||
}
|
||||
}
|
||||
return pdo.performDexOpt(p, p.usesLibraryInfos, instructionSets,
|
||||
return pdo.performDexOpt(p, instructionSets,
|
||||
getOrCreateCompilerPackageStats(p),
|
||||
mDexManager.getPackageUseInfoOrDefault(p.packageName), options);
|
||||
}
|
||||
@@ -16324,7 +16324,7 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
REASON_INSTALL,
|
||||
DexoptOptions.DEXOPT_BOOT_COMPLETE
|
||||
| DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
|
||||
mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryInfos,
|
||||
mPackageDexOptimizer.performDexOpt(pkg,
|
||||
null /* instructionSets */,
|
||||
getOrCreateCompilerPackageStats(pkg),
|
||||
mDexManager.getPackageUseInfoOrDefault(packageName),
|
||||
|
||||
Reference in New Issue
Block a user