summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/inliner.cc10
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;
}