Reland "Devirtualize to HInvokeStaticOrDirect."
This reverts commit 39d4df62d4e2606073d05cc363370db825ad7b9f.
Reason for revert: fix JIT-zygote issue.
Test: JIT zygote boots.
Change-Id: I895ad8e59e472fb662ca9bc5394c2fd9c6babc74
diff --git a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
index bc5a10d..eaa9f4e 100644
--- a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
@@ -1357,7 +1357,7 @@
// odd situation where the ArtMethod being executed is unrelated to the
// receiver of the method.
called = called->GetCanonicalMethod();
- if (invoke_type == kSuper) {
+ if (invoke_type == kSuper || invoke_type == kInterface || invoke_type == kVirtual) {
if (called->GetDexFile() == called_method.dex_file) {
called_method.index = called->GetDexMethodIndex();
} else {