summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_builder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r--compiler/optimizing/instruction_builder.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc
index c66fd3bb26..8226987968 100644
--- a/compiler/optimizing/instruction_builder.cc
+++ b/compiler/optimizing/instruction_builder.cc
@@ -992,6 +992,10 @@ static ArtMethod* ResolveMethod(uint16_t method_idx,
(!resolved_method->IsPublic() && !declaring_class_accessible)) {
return nullptr;
}
+
+ if (UNLIKELY(resolved_method->CheckIncompatibleClassChange(*invoke_type))) {
+ return nullptr;
+ }
}
// We have to special case the invoke-super case, as ClassLinker::ResolveMethod does not.