diff options
author | Andreas Gampe <agampe@google.com> | 2014-11-14 16:15:17 -0800 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-11-14 16:15:17 -0800 |
commit | 995c62d6abd4b7080e52a60d1bffa32ae4a798a3 (patch) | |
tree | 2e48d82c88b4fa0e1c7a16789d22a2b35c114312 /core/jni | |
parent | 99253d001f835a8d23c337b8dfd6a6cbc6d7a740 (diff) | |
download | frameworks_base-995c62d6abd4b7080e52a60d1bffa32ae4a798a3.zip frameworks_base-995c62d6abd4b7080e52a60d1bffa32ae4a798a3.tar.gz frameworks_base-995c62d6abd4b7080e52a60d1bffa32ae4a798a3.tar.bz2 |
Frameworks/base: AndroidRuntime standalone preloaded-classes
Change AndroidRuntime::startVM to give the new standalone
preloaded-classes file to the runtime for compilation of images.
Bug: 18305157
Change-Id: I32a13357893222b25fbce60bf2367c23fb36ab22
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/AndroidRuntime.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 4d17877..c5f1d88 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -356,6 +356,15 @@ static int hasDir(const char* dir) return 0; } +static bool hasFile(const char* file) { + struct stat s; + int res = stat(file, &s); + if (res == 0) { + return S_ISREG(s.st_mode); + } + return false; +} + /* * Read the persistent locale. */ @@ -768,10 +777,16 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) parseCompilerOption("dalvik.vm.image-dex2oat-filter", dex2oatImageCompilerFilterBuf, "--compiler-filter=", "-Ximage-compiler-option"); } + + // Make sure there is a preloaded-classes file. + if (!hasFile("/system/etc/preloaded-classes")) { + ALOGE("Missing preloaded-classes file, /system/etc/preloaded-classes not found: %s\n", + strerror(errno)); + goto bail; + } addOption("-Ximage-compiler-option"); - addOption("--image-classes-zip=/system/framework/framework.jar"); - addOption("-Ximage-compiler-option"); - addOption("--image-classes=preloaded-classes"); + addOption("--image-classes=/system/etc/preloaded-classes"); + property_get("dalvik.vm.image-dex2oat-flags", dex2oatImageFlagsBuf, ""); parseExtraOpts(dex2oatImageFlagsBuf, "-Ximage-compiler-option"); |