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

Commit bda789c6 authored by Islam Elbanna's avatar Islam Elbanna Committed by Gerrit Code Review
Browse files

Merge "Allow profiling for standalone system server jars."

parents 2b6a72ba 1ed9d64b
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -517,7 +517,12 @@ public class ZygoteInit {
            if (shouldProfileSystemServer() && (Build.IS_USERDEBUG || Build.IS_ENG)) {
                try {
                    Log.d(TAG, "Preparing system server profile");
                    prepareSystemServerProfile(systemServerClasspath);
                    final String standaloneSystemServerJars =
                            Os.getenv("STANDALONE_SYSTEMSERVER_JARS");
                    final String systemServerPaths = standaloneSystemServerJars != null
                            ? String.join(":", systemServerClasspath, standaloneSystemServerJars)
                            : systemServerClasspath;
                    prepareSystemServerProfile(systemServerPaths);
                } catch (Exception e) {
                    Log.wtf(TAG, "Failed to set up system server profile", e);
                }
@@ -603,12 +608,12 @@ public class ZygoteInit {
     * permissions. From the installer perspective the system server is a regular package which can
     * capture profile information.
     */
    private static void prepareSystemServerProfile(String systemServerClasspath)
    private static void prepareSystemServerProfile(String systemServerPaths)
            throws RemoteException {
        if (systemServerClasspath.isEmpty()) {
        if (systemServerPaths.isEmpty()) {
            return;
        }
        String[] codePaths = systemServerClasspath.split(":");
        String[] codePaths = systemServerPaths.split(":");

        final IInstalld installd = IInstalld.Stub
                .asInterface(ServiceManager.getService("installd"));
+5 −0
Original line number Diff line number Diff line
@@ -339,6 +339,11 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub {
        String classpath = String.join(":", Os.getenv("BOOTCLASSPATH"),
                Os.getenv("SYSTEMSERVERCLASSPATH"));

        final String standaloneSystemServerJars = Os.getenv("STANDALONE_SYSTEMSERVER_JARS");
        if (standaloneSystemServerJars != null) {
            classpath = String.join(":", classpath, standaloneSystemServerJars);
        }

        // Create the snapshot.
        createProfileSnapshot(BOOT_IMAGE_ANDROID_PACKAGE, BOOT_IMAGE_PROFILE_NAME, classpath,
                /*appId*/ -1, callback);