diff options
| author | 2015-01-07 22:16:11 +0000 | |
|---|---|---|
| committer | 2015-01-07 22:16:11 +0000 | |
| commit | 555ea653bae019379eb8d1aa70dfcb86789c19d3 (patch) | |
| tree | 3f8531d275210be44f8e98d3562b8de74cf4352a | |
| parent | 516fa49183b8fbd010e619dea4d041b24d784503 (diff) | |
| parent | ec64c0b6e639b743398fb543218100fdaf9a7f69 (diff) | |
am ec64c0b6: am 022b1ba1: Merge "Core/jni: Disallow relocation for decryption"
* commit 'ec64c0b6e639b743398fb543218100fdaf9a7f69':
Core/jni: Disallow relocation for decryption
| -rw-r--r-- | core/jni/AndroidRuntime.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 149d7bcb5f0f..88fa8f77e8eb 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -696,6 +696,14 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) if (skip_compilation) { addOption("-Xcompiler-option"); addOption("--compiler-filter=verify-none"); + + // We skip compilation when a minimal runtime is brought up for decryption. In that case + // /data is temporarily backed by a tmpfs, which is usually small. + // If the system image contains prebuilts, they will be relocated into the tmpfs. In this + // specific situation it is acceptable to *not* relocate and run out of the prebuilts + // directly instead. + addOption("--runtime-arg"); + addOption("-Xnorelocate"); } else { parseCompilerOption("dalvik.vm.dex2oat-filter", dex2oatCompilerFilterBuf, "--compiler-filter=", "-Xcompiler-option"); |