diff options
Diffstat (limited to 'compiler/optimizing')
-rw-r--r-- | compiler/optimizing/inliner.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc index be8bc69de0..251867d512 100644 --- a/compiler/optimizing/inliner.cc +++ b/compiler/optimizing/inliner.cc @@ -22,6 +22,7 @@ #include "builder.h" #include "class_linker.h" #include "class_root-inl.h" +#include "compiler_callbacks.h" #include "constant_folding.h" #include "data_type-inl.h" #include "dead_code_elimination.h" @@ -407,10 +408,15 @@ static bool IsMethodVerified(ArtMethod* method) // At runtime, we know this is cold code if the class is not verified, so don't // bother analyzing. if (Runtime::Current()->IsAotCompiler()) { - if (method->GetDeclaringClass()->IsVerifiedNeedsAccessChecks() || - method->GetDeclaringClass()->ShouldVerifyAtRuntime()) { + if (method->GetDeclaringClass()->IsVerifiedNeedsAccessChecks()) { + DCHECK(!Runtime::Current()->GetCompilerCallbacks()->IsUncompilableMethod( + MethodReference(method->GetDexFile(), method->GetDexMethodIndex()))); return true; } + if (method->GetDeclaringClass()->ShouldVerifyAtRuntime()) { + return !Runtime::Current()->GetCompilerCallbacks()->IsUncompilableMethod( + MethodReference(method->GetDexFile(), method->GetDexMethodIndex())); + } } return false; } |