summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2020-09-09 13:57:17 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2020-09-11 13:20:58 +0000
commit1fef877c66f066f01653ea98bfefe29304198193 (patch)
tree65561c8b15844cabe32728b61d1e5d586976acf3 /compiler/optimizing/instruction_simplifier.cc
parenta41ea2708d143b5982f1969864513b62706d11d4 (diff)
Handle more cases of super calls in the compiler.
Add support for calling super methods that are not referenced within the compiling dex file. Test: 808-checker-invoke-super Test: 809-checker-invoke-super-bss Change-Id: Ib103f818ac8b612a79b6b18cc8eda81131bb3149
Diffstat (limited to 'compiler/optimizing/instruction_simplifier.cc')
-rw-r--r--compiler/optimizing/instruction_simplifier.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/instruction_simplifier.cc b/compiler/optimizing/instruction_simplifier.cc
index d586306a2c..d616912b9f 100644
--- a/compiler/optimizing/instruction_simplifier.cc
+++ b/compiler/optimizing/instruction_simplifier.cc
@@ -2310,7 +2310,8 @@ void InstructionSimplifierVisitor::SimplifySystemArrayCopy(HInvoke* instruction)
// the invoke, as we would need to look it up in the current dex file, and it
// is unlikely that it exists. The most usual situation for such typed
// arraycopy methods is a direct pointer to the boot image.
- invoke->SetDispatchInfo(HSharpening::SharpenInvokeStaticOrDirect(method, codegen_));
+ invoke->SetDispatchInfo(
+ HSharpening::SharpenInvokeStaticOrDirect(method, /* has_method_id= */ true, codegen_));
}
}
}