diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 487f3d403975d..6660c276e9a8b 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -703,6 +703,24 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) //mOptions.add(opt); } + char lockProfThresholdBuf[sizeof("-Xlockprofthreshold:") + sizeof(propBuf)]; + property_get("dalvik.vm.lockprof.threshold", propBuf, ""); + if (strlen(propBuf) > 0) { + strcpy(lockProfThresholdBuf, "-Xlockprofthreshold:"); + strcat(lockProfThresholdBuf, propBuf); + opt.optionString = lockProfThresholdBuf; + mOptions.add(opt); + } + + char lockProfSampleBuf[sizeof("-Xlockprofsample:") + sizeof(propBuf)]; + property_get("dalvik.vm.lockprof.sample", propBuf, ""); + if (strlen(propBuf) > 0) { + strcpy(lockProfSampleBuf, "-Xlockprofsample:"); + strcat(lockProfSampleBuf, propBuf); + opt.optionString = lockProfSampleBuf; + mOptions.add(opt); + } + #if defined(WITH_JIT) /* Minimal profile threshold to trigger JIT compilation */ char jitThresholdBuf[sizeof("-Xjitthreshold:") + PROPERTY_VALUE_MAX];