diff options
author | Ian Rogers <irogers@google.com> | 2014-03-14 13:20:26 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-03-14 13:20:26 -0700 |
commit | 5b27149ce3cbf39f99c9d9c8ba5ebf1657c297e1 (patch) | |
tree | 0ad96be65b07c8166b712658716970f8bf59667c /compiler/driver/compiler_driver.cc | |
parent | 288731acecf3582426c4c1c3e259dcc4d16f113e (diff) | |
download | art-5b27149ce3cbf39f99c9d9c8ba5ebf1657c297e1.zip art-5b27149ce3cbf39f99c9d9c8ba5ebf1657c297e1.tar.gz art-5b27149ce3cbf39f99c9d9c8ba5ebf1657c297e1.tar.bz2 |
Use quick generic JNI calls based on compiler driver options.
Change-Id: Ic70f4b9b5759eb11b35677c0039fb00eb1c4c506
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r-- | compiler/driver/compiler_driver.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index bdf31ce..c2b6f5a 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -1869,12 +1869,14 @@ void CompilerDriver::CompileMethod(const DexFile::CodeItem* code_item, uint32_t uint64_t start_ns = NanoTime(); if ((access_flags & kAccNative) != 0) { -#if defined(__x86_64__) - // leaving this empty will trigger the generic JNI version -#else - compiled_method = compiler_->JniCompile(*this, access_flags, method_idx, dex_file); - CHECK(compiled_method != NULL); -#endif + // Are we only interpreting only and have support for generic JNI down calls? + if ((compiler_options_->GetCompilerFilter() == CompilerOptions::kInterpretOnly) && + (instruction_set_ == kX86_64)) { + // Leaving this empty will trigger the generic JNI version + } else { + compiled_method = compiler_->JniCompile(*this, access_flags, method_idx, dex_file); + CHECK(compiled_method != NULL); + } } else if ((access_flags & kAccAbstract) != 0) { } else { MethodReference method_ref(&dex_file, method_idx); |