From 2cb0a4d860b35a3739f6a02e35c917e5eb7e4679 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 21 Nov 2019 14:30:03 -0800 Subject: [PATCH] Pass runtimeFlags to postForkSystemServer Flags are now required by ART. Bug: 139883463 Bug: 144383344 Test: showmap `pid system_server` and verify Test: atest BootImageProfileTest Change-Id: I9416ef888557bf0bc0ec7c83f7af1979cac351f8 --- core/java/com/android/internal/os/Zygote.java | 4 ++-- core/jni/com_android_internal_os_Zygote.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index f3de34be2e693..fbacdd73dabb3 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -956,9 +956,9 @@ public final class Zygote { // This function is called from native code in com_android_internal_os_Zygote.cpp @SuppressWarnings("unused") - private static void callPostForkSystemServerHooks() { + private static void callPostForkSystemServerHooks(int runtimeFlags) { // SystemServer specific post fork hooks run before child post fork hooks. - ZygoteHooks.postForkSystemServer(); + ZygoteHooks.postForkSystemServer(runtimeFlags); } // This function is called from native code in com_android_internal_os_Zygote.cpp diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 3516dce5d5ed2..f28c4221c6370 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -1156,7 +1156,7 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids, UnsetChldSignalHandler(); if (is_system_server) { - env->CallStaticVoidMethod(gZygoteClass, gCallPostForkSystemServerHooks); + env->CallStaticVoidMethod(gZygoteClass, gCallPostForkSystemServerHooks, runtime_flags); if (env->ExceptionCheck()) { fail_fn("Error calling post fork system server hooks."); } @@ -1802,7 +1802,7 @@ int register_com_android_internal_os_Zygote(JNIEnv* env) { gZygoteClass = MakeGlobalRefOrDie(env, FindClassOrDie(env, kZygoteClassName)); gCallPostForkSystemServerHooks = GetStaticMethodIDOrDie(env, gZygoteClass, "callPostForkSystemServerHooks", - "()V"); + "(I)V"); gCallPostForkChildHooks = GetStaticMethodIDOrDie(env, gZygoteClass, "callPostForkChildHooks", "(IZZLjava/lang/String;)V");