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

Commit 5627db89 authored by Calin Juravle's avatar Calin Juravle
Browse files

Make system server profiling an explicit runtime intent

Pass an explicit flag to the runtime when we need to profile the system
server. This ensures that we only start the ProfileSaver and allocate the
code cache when needed.

Test: manual, on a device with system server profiling enabled
Bug: 74081010

(cherry picked from commit 8eb891be)

Merged-In: I756682a9644796afb53f0c010d2bd2764ea5a828
Change-Id: I756682a9644796afb53f0c010d2bd2764ea5a828
parent 40ffa170
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -68,6 +68,10 @@ public final class Zygote {
     */
    public static final int API_ENFORCEMENT_POLICY_SHIFT =
            Integer.numberOfTrailingZeros(API_ENFORCEMENT_POLICY_MASK);
    /**
     * Enable system server ART profiling.
     */
    public static final int PROFILE_SYSTEM_SERVER = 1 << 14;

    /** No external storage should be mounted. */
    public static final int MOUNT_EXTERNAL_NONE = IVold.REMOUNT_MODE_NONE;
+6 −0
Original line number Diff line number Diff line
@@ -702,6 +702,12 @@ public class ZygoteInit {
            ZygoteConnection.applyDebuggerSystemProperty(parsedArgs);
            ZygoteConnection.applyInvokeWithSystemProperty(parsedArgs);

            boolean profileSystemServer = SystemProperties.getBoolean(
                    "dalvik.vm.profilesystemserver", false);
            if (profileSystemServer) {
                parsedArgs.runtimeFlags |= Zygote.PROFILE_SYSTEM_SERVER;
            }

            /* Request to fork the system server process */
            pid = Zygote.forkSystemServer(
                    parsedArgs.uid, parsedArgs.gid,