Reland "Improve invokeinterface for nterp."

This reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4.

Bug: 177554973
Bug: 112676029

Test: test.py
Test: 815-invokeinterface-default
Test: enable text-to-speech on device, no crash

Reason for revert: Fixed issue with recursive default methods

Change-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a
diff --git a/compiler/optimizing/instruction_simplifier.cc b/compiler/optimizing/instruction_simplifier.cc
index 96f82f6..8886f14 100644
--- a/compiler/optimizing/instruction_simplifier.cc
+++ b/compiler/optimizing/instruction_simplifier.cc
@@ -2310,8 +2310,11 @@
       // 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::SharpenLoadMethod(method, /* has_method_id= */ true, codegen_));
+      invoke->SetDispatchInfo(HSharpening::SharpenLoadMethod(
+          method,
+          /* has_method_id= */ true,
+          /* for_interface_call= */ false,
+          codegen_));
     }
   }
 }