Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1158b87c authored by Nicolas Geoffray's avatar Nicolas Geoffray
Browse files

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
parent 803db6cf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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),
+3 −3
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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),