summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-03-14 20:43:01 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-03-14 20:43:02 +0000
commitfb5b21d1d598b6b42e5d5ca1dac4a040832558fb (patch)
treeda98ca3c401f1bd5d142afad0ed22aeddfb12b30
parent599852291960c925193ba67fdbf0f6ec4f093787 (diff)
parent5b27149ce3cbf39f99c9d9c8ba5ebf1657c297e1 (diff)
downloadart-fb5b21d1d598b6b42e5d5ca1dac4a040832558fb.zip
art-fb5b21d1d598b6b42e5d5ca1dac4a040832558fb.tar.gz
art-fb5b21d1d598b6b42e5d5ca1dac4a040832558fb.tar.bz2
Merge "Use quick generic JNI calls based on compiler driver options."
-rw-r--r--compiler/driver/compiler_driver.cc14
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);