diff options
| author | 2016-05-23 15:32:42 +0100 | |
|---|---|---|
| committer | 2016-05-24 17:33:07 +0100 | |
| commit | f6d1e0f6196cb3669dfb4eed8ceef679b0588c0f (patch) | |
| tree | fa9ade37af2b3c5736aa3431e393be348f21532c /compiler | |
| parent | 84f00fe695a7a78551d7f2e8d7bc2bed1ce86a67 (diff) | |
Compile JNI stubs for verify-profile and interpret-only.
This is the intended behavior to have a good JNI transition
performance.
Bug: 28902384
(cherry picked from commit 8c185bf0c6f18a5349bc87a7e3751ba06d90f461)
Change-Id: I52767909b916ada3c619206c8838b85bff5ac316
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/dex/verification_results.cc | 2 | ||||
| -rw-r--r-- | compiler/driver/compiler_driver.cc | 4 | ||||
| -rw-r--r-- | compiler/driver/compiler_options.h | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/compiler/dex/verification_results.cc b/compiler/dex/verification_results.cc index 606302bd78..03c94a45e3 100644 --- a/compiler/dex/verification_results.cc +++ b/compiler/dex/verification_results.cc @@ -104,7 +104,7 @@ bool VerificationResults::IsClassRejected(ClassReference ref) { bool VerificationResults::IsCandidateForCompilation(MethodReference&, const uint32_t access_flags) { - if (!compiler_options_->IsCompilationEnabled()) { + if (!compiler_options_->IsBytecodeCompilationEnabled()) { return false; } // Don't compile class initializers unless kEverything. diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 1ab1d31f09..d20f51001c 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -553,8 +553,8 @@ static void CompileMethod(Thread* self, MethodReference method_ref(&dex_file, method_idx); if ((access_flags & kAccNative) != 0) { - // Are we interpreting only and have support for generic JNI down calls? - if (!driver->GetCompilerOptions().IsCompilationEnabled() && + // Are we extracting only and have support for generic JNI down calls? + if (!driver->GetCompilerOptions().IsJniCompilationEnabled() && InstructionSetHasGenericJniStub(driver->GetInstructionSet())) { // Leaving this empty will trigger the generic JNI version } else { diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h index 6bbd3c5a19..60b700ad91 100644 --- a/compiler/driver/compiler_options.h +++ b/compiler/driver/compiler_options.h @@ -88,8 +88,12 @@ class CompilerOptions FINAL { return compiler_filter_ == CompilerFilter::kVerifyAtRuntime; } - bool IsCompilationEnabled() const { - return CompilerFilter::IsCompilationEnabled(compiler_filter_); + bool IsBytecodeCompilationEnabled() const { + return CompilerFilter::IsBytecodeCompilationEnabled(compiler_filter_); + } + + bool IsJniCompilationEnabled() const { + return CompilerFilter::IsJniCompilationEnabled(compiler_filter_); } bool IsVerificationEnabled() const { |