Update the handling of the native bridge property.

ro.dalvik.vm.native.bridge is expected to be always be set. A value of
"0" means that the native bridge is disabled and that no value should be
passed to the runtime.

Bug: 17104449
Change-Id: I94e60c68e732abdab18f14f960d3b80f32048a79
This commit is contained in:
Calin Juravle
2014-08-26 23:00:11 +01:00
parent 7837dac462
commit be20ed41f7

View File

@@ -879,9 +879,17 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
parseRuntimeOption("dalvik.vm.profile.max-stack-depth",
profileMaxStackDepth,
"-Xprofile-max-stack-depth:");
}
parseRuntimeOption("ro.dalvik.vm.native.bridge", nativeBridgeLibrary, "-XX:NativeBridge=");
// Native bridge library. "0" means that native bridge is disabled.
property_get("ro.dalvik.vm.native.bridge", propBuf, "");
if (propBuf[0] == '\0') {
ALOGW("ro.dalvik.vm.native.bridge is not expected to be empty");
} else if (strcmp(propBuf, "0") != 0) {
snprintf(nativeBridgeLibrary, sizeof("-XX:NativeBridge=") + PROPERTY_VALUE_MAX,
"-XX:NativeBridge=%s", propBuf);
addOption(nativeBridgeLibrary);
}
}
initArgs.version = JNI_VERSION_1_4;
initArgs.options = mOptions.editArray();