summaryrefslogtreecommitdiff
path: root/core/jni/AndroidRuntime.cpp
diff options
context:
space:
mode:
authorHaamed Gheibi <haamed@google.com>2021-07-12 20:47:45 +0000
committerHaamed Gheibi <haamed@google.com>2021-07-14 18:21:17 +0000
commit02a7ee5d65cb8d40fd1dde9aaf6b5ead9222a5a6 (patch)
tree6fb30a5bc0d0e7fadd37d62cdba537c4d5d9237b /core/jni/AndroidRuntime.cpp
parentbab7c6ab6b363574baaace4df576c1abb67f4507 (diff)
parentfa0439912edd9559d7c0f46bef2b2898de68f50f (diff)
Merge SP1A.210709.002
Change-Id: I4610885d5d770d858895057cdd9fea387a5e33dd
Diffstat (limited to 'core/jni/AndroidRuntime.cpp')
-rw-r--r--core/jni/AndroidRuntime.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 8d4db5efa99e..5ec6af15c452 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -692,6 +692,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
char methodTraceFileBuf[sizeof("-Xmethod-trace-file:") + PROPERTY_VALUE_MAX];
char methodTraceFileSizeBuf[sizeof("-Xmethod-trace-file-size:") + PROPERTY_VALUE_MAX];
std::string fingerprintBuf;
+ char javaZygoteForkLoopBuf[sizeof("-XX:ForceJavaZygoteForkLoop=") + PROPERTY_VALUE_MAX];
char jdwpProviderBuf[sizeof("-XjdwpProvider:") - 1 + PROPERTY_VALUE_MAX];
char opaqueJniIds[sizeof("-Xopaque-jni-ids:") - 1 + PROPERTY_VALUE_MAX];
char bootImageBuf[sizeof("-Ximage:") - 1 + PROPERTY_VALUE_MAX];
@@ -754,6 +755,11 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
//addOption("-verbose:jni");
}
+ const bool odsignVerificationSuccess = GetBoolProperty("odsign.verification.success", false);
+ if (!odsignVerificationSuccess) {
+ addOption("-Xdeny-art-apex-data-files");
+ }
+
property_get("dalvik.vm.execution-mode", propBuf, "");
if (strcmp(propBuf, "int:portable") == 0) {
executionMode = kEMIntPortable;
@@ -910,6 +916,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
parseRuntimeOption("dalvik.vm.backgroundgctype", backgroundgcOptsBuf, "-XX:BackgroundGC=");
/*
+ * Enable/disable zygote native fork loop.
+ */
+ parseRuntimeOption("dalvik.vm.force-java-zygote-fork-loop",
+ javaZygoteForkLoopBuf,
+ "-XX:ForceJavaZygoteForkLoop=");
+
+ /*
* Enable debugging only for apps forked from zygote.
*/
if (zygote) {