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

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

Merge "Special case system_server to not create the JIT code cache."

parents ea9b1dae 3c43b386
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -145,8 +145,9 @@ public final class Zygote {
    native private static int nativeForkSystemServer(int uid, int gid, int[] gids, int debugFlags,
    native private static int nativeForkSystemServer(int uid, int gid, int[] gids, int debugFlags,
            int[][] rlimits, long permittedCapabilities, long effectiveCapabilities);
            int[][] rlimits, long permittedCapabilities, long effectiveCapabilities);


    private static void callPostForkChildHooks(int debugFlags, String instructionSet) {
    private static void callPostForkChildHooks(int debugFlags, boolean isSystemServer,
        VM_HOOKS.postForkChild(debugFlags, instructionSet);
            String instructionSet) {
        VM_HOOKS.postForkChild(debugFlags, isSystemServer, instructionSet);
    }
    }




+2 −2
Original line number Original line Diff line number Diff line
@@ -581,7 +581,7 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra
    UnsetSigChldHandler();
    UnsetSigChldHandler();


    env->CallStaticVoidMethod(gZygoteClass, gCallPostForkChildHooks, debug_flags,
    env->CallStaticVoidMethod(gZygoteClass, gCallPostForkChildHooks, debug_flags,
                              is_system_server ? NULL : instructionSet);
                              is_system_server, instructionSet);
    if (env->ExceptionCheck()) {
    if (env->ExceptionCheck()) {
      RuntimeAbort(env, __LINE__, "Error calling post fork hooks.");
      RuntimeAbort(env, __LINE__, "Error calling post fork hooks.");
    }
    }
@@ -652,7 +652,7 @@ static const JNINativeMethod gMethods[] = {
int register_com_android_internal_os_Zygote(JNIEnv* env) {
int register_com_android_internal_os_Zygote(JNIEnv* env) {
  gZygoteClass = MakeGlobalRefOrDie(env, FindClassOrDie(env, kZygoteClassName));
  gZygoteClass = MakeGlobalRefOrDie(env, FindClassOrDie(env, kZygoteClassName));
  gCallPostForkChildHooks = GetStaticMethodIDOrDie(env, gZygoteClass, "callPostForkChildHooks",
  gCallPostForkChildHooks = GetStaticMethodIDOrDie(env, gZygoteClass, "callPostForkChildHooks",
                                                   "(ILjava/lang/String;)V");
                                                   "(IZLjava/lang/String;)V");


  return RegisterMethodsOrDie(env, "com/android/internal/os/Zygote", gMethods, NELEM(gMethods));
  return RegisterMethodsOrDie(env, "com/android/internal/os/Zygote", gMethods, NELEM(gMethods));
}
}