Loading core/java/android/os/Process.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -634,6 +634,9 @@ public class Process { if ((debugFlags & Zygote.DEBUG_ENABLE_JIT) != 0) { if ((debugFlags & Zygote.DEBUG_ENABLE_JIT) != 0) { argsForZygote.add("--enable-jit"); argsForZygote.add("--enable-jit"); } } if ((debugFlags & Zygote.DEBUG_GENERATE_CFI) != 0) { argsForZygote.add("--generate-cfi"); } if ((debugFlags & Zygote.DEBUG_ENABLE_ASSERT) != 0) { if ((debugFlags & Zygote.DEBUG_ENABLE_ASSERT) != 0) { argsForZygote.add("--enable-assert"); argsForZygote.add("--enable-assert"); } } Loading core/java/com/android/internal/os/Zygote.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,8 @@ public final class Zygote { public static final int DEBUG_ENABLE_JNI_LOGGING = 1 << 4; public static final int DEBUG_ENABLE_JNI_LOGGING = 1 << 4; /** enable the JIT compiler */ /** enable the JIT compiler */ public static final int DEBUG_ENABLE_JIT = 1 << 5; public static final int DEBUG_ENABLE_JIT = 1 << 5; /** Force generation of CFI code */ public static final int DEBUG_GENERATE_CFI = 1 << 6; /** No external storage should be mounted. */ /** No external storage should be mounted. */ public static final int MOUNT_EXTERNAL_NONE = 0; public static final int MOUNT_EXTERNAL_NONE = 0; Loading core/java/com/android/internal/os/ZygoteConnection.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -321,7 +321,7 @@ class ZygoteConnection { /** /** * From --enable-debugger, --enable-checkjni, --enable-assert, * From --enable-debugger, --enable-checkjni, --enable-assert, * --enable-safemode, --enable-jit, and --enable-jni-logging. * --enable-safemode, --enable-jit, --generate-cfi and --enable-jni-logging. */ */ int debugFlags; int debugFlags; Loading Loading @@ -433,6 +433,8 @@ class ZygoteConnection { debugFlags |= Zygote.DEBUG_ENABLE_CHECKJNI; debugFlags |= Zygote.DEBUG_ENABLE_CHECKJNI; } else if (arg.equals("--enable-jit")) { } else if (arg.equals("--enable-jit")) { debugFlags |= Zygote.DEBUG_ENABLE_JIT; debugFlags |= Zygote.DEBUG_ENABLE_JIT; } else if (arg.equals("--generate-cfi")) { debugFlags |= Zygote.DEBUG_GENERATE_CFI; } else if (arg.equals("--enable-jni-logging")) { } else if (arg.equals("--enable-jni-logging")) { debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; } else if (arg.equals("--enable-assert")) { } else if (arg.equals("--enable-assert")) { Loading core/jni/AndroidRuntime.cpp +13 −0 Original line number Original line Diff line number Diff line Loading @@ -875,6 +875,19 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) parseRuntimeOption("dalvik.vm.zygote.max-boot-retry", cachePruneBuf, parseRuntimeOption("dalvik.vm.zygote.max-boot-retry", cachePruneBuf, "-Xzygote-max-boot-retry="); "-Xzygote-max-boot-retry="); /* * When running with debug.gencfi, add --include-cfi to the compiler options so that the boot * image, if it is compiled on device, will include CFI info, as well as other compilations * started by the runtime. */ property_get("debug.gencfi", propBuf, ""); if (strcmp(propBuf, "true") == 0) { addOption("-Xcompiler-option"); addOption("--include-cfi"); addOption("-Ximage-compiler-option"); addOption("--include-cfi"); } initArgs.version = JNI_VERSION_1_4; initArgs.version = JNI_VERSION_1_4; initArgs.options = mOptions.editArray(); initArgs.options = mOptions.editArray(); initArgs.nOptions = mOptions.size(); initArgs.nOptions = mOptions.size(); Loading services/core/java/com/android/server/am/ActivityManagerService.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -3179,6 +3179,10 @@ public final class ActivityManagerService extends ActivityManagerNative debugFlags |= Zygote.DEBUG_ENABLE_JIT; debugFlags |= Zygote.DEBUG_ENABLE_JIT; } } } } String genCFIDebugProperty = SystemProperties.get("debug.gencfi"); if ("true".equals(genCFIDebugProperty)) { debugFlags |= Zygote.DEBUG_GENERATE_CFI; } if ("1".equals(SystemProperties.get("debug.jni.logging"))) { if ("1".equals(SystemProperties.get("debug.jni.logging"))) { debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; } } Loading Loading
core/java/android/os/Process.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -634,6 +634,9 @@ public class Process { if ((debugFlags & Zygote.DEBUG_ENABLE_JIT) != 0) { if ((debugFlags & Zygote.DEBUG_ENABLE_JIT) != 0) { argsForZygote.add("--enable-jit"); argsForZygote.add("--enable-jit"); } } if ((debugFlags & Zygote.DEBUG_GENERATE_CFI) != 0) { argsForZygote.add("--generate-cfi"); } if ((debugFlags & Zygote.DEBUG_ENABLE_ASSERT) != 0) { if ((debugFlags & Zygote.DEBUG_ENABLE_ASSERT) != 0) { argsForZygote.add("--enable-assert"); argsForZygote.add("--enable-assert"); } } Loading
core/java/com/android/internal/os/Zygote.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,8 @@ public final class Zygote { public static final int DEBUG_ENABLE_JNI_LOGGING = 1 << 4; public static final int DEBUG_ENABLE_JNI_LOGGING = 1 << 4; /** enable the JIT compiler */ /** enable the JIT compiler */ public static final int DEBUG_ENABLE_JIT = 1 << 5; public static final int DEBUG_ENABLE_JIT = 1 << 5; /** Force generation of CFI code */ public static final int DEBUG_GENERATE_CFI = 1 << 6; /** No external storage should be mounted. */ /** No external storage should be mounted. */ public static final int MOUNT_EXTERNAL_NONE = 0; public static final int MOUNT_EXTERNAL_NONE = 0; Loading
core/java/com/android/internal/os/ZygoteConnection.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -321,7 +321,7 @@ class ZygoteConnection { /** /** * From --enable-debugger, --enable-checkjni, --enable-assert, * From --enable-debugger, --enable-checkjni, --enable-assert, * --enable-safemode, --enable-jit, and --enable-jni-logging. * --enable-safemode, --enable-jit, --generate-cfi and --enable-jni-logging. */ */ int debugFlags; int debugFlags; Loading Loading @@ -433,6 +433,8 @@ class ZygoteConnection { debugFlags |= Zygote.DEBUG_ENABLE_CHECKJNI; debugFlags |= Zygote.DEBUG_ENABLE_CHECKJNI; } else if (arg.equals("--enable-jit")) { } else if (arg.equals("--enable-jit")) { debugFlags |= Zygote.DEBUG_ENABLE_JIT; debugFlags |= Zygote.DEBUG_ENABLE_JIT; } else if (arg.equals("--generate-cfi")) { debugFlags |= Zygote.DEBUG_GENERATE_CFI; } else if (arg.equals("--enable-jni-logging")) { } else if (arg.equals("--enable-jni-logging")) { debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; } else if (arg.equals("--enable-assert")) { } else if (arg.equals("--enable-assert")) { Loading
core/jni/AndroidRuntime.cpp +13 −0 Original line number Original line Diff line number Diff line Loading @@ -875,6 +875,19 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) parseRuntimeOption("dalvik.vm.zygote.max-boot-retry", cachePruneBuf, parseRuntimeOption("dalvik.vm.zygote.max-boot-retry", cachePruneBuf, "-Xzygote-max-boot-retry="); "-Xzygote-max-boot-retry="); /* * When running with debug.gencfi, add --include-cfi to the compiler options so that the boot * image, if it is compiled on device, will include CFI info, as well as other compilations * started by the runtime. */ property_get("debug.gencfi", propBuf, ""); if (strcmp(propBuf, "true") == 0) { addOption("-Xcompiler-option"); addOption("--include-cfi"); addOption("-Ximage-compiler-option"); addOption("--include-cfi"); } initArgs.version = JNI_VERSION_1_4; initArgs.version = JNI_VERSION_1_4; initArgs.options = mOptions.editArray(); initArgs.options = mOptions.editArray(); initArgs.nOptions = mOptions.size(); initArgs.nOptions = mOptions.size(); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -3179,6 +3179,10 @@ public final class ActivityManagerService extends ActivityManagerNative debugFlags |= Zygote.DEBUG_ENABLE_JIT; debugFlags |= Zygote.DEBUG_ENABLE_JIT; } } } } String genCFIDebugProperty = SystemProperties.get("debug.gencfi"); if ("true".equals(genCFIDebugProperty)) { debugFlags |= Zygote.DEBUG_GENERATE_CFI; } if ("1".equals(SystemProperties.get("debug.jni.logging"))) { if ("1".equals(SystemProperties.get("debug.jni.logging"))) { debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; debugFlags |= Zygote.DEBUG_ENABLE_JNI_LOGGING; } } Loading