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

Commit a7f44ba8 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.

(cherry picked from commit 1158b87c)

Test: m
Change-Id: I676ee7d49600a36a8bd54893679d7dc900da2012
Merged-In: I676ee7d49600a36a8bd54893679d7dc900da2012
Exempt-From-Owner-Approval: approved in internal.
parent 0b2044a9
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
@@ -127,7 +127,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) {
@@ -140,7 +140,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);
@@ -154,9 +154,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
@@ -9452,12 +9452,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);
    }
@@ -17806,7 +17806,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(pkg.packageName),