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

Commit 4bf858e3 authored by Nicolas Geoffray's avatar Nicolas Geoffray Committed by Android (Google) Code Review
Browse files

Merge "No need to pass shared library infos explicitly in performDexOpt."

parents f2d13673 1158b87c
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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),
+3 −3
Original line number Original line 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
     * <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) {
@@ -138,7 +138,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);
@@ -152,9 +152,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);
+3 −3
Original line number Original line Diff line number Diff line
@@ -9413,12 +9413,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);
    }
    }
@@ -16324,7 +16324,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(packageName),
                        mDexManager.getPackageUseInfoOrDefault(packageName),