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/sharpening.h b/compiler/optimizing/sharpening.h
index f71d9b5..9753669 100644
--- a/compiler/optimizing/sharpening.h
+++ b/compiler/optimizing/sharpening.h
@@ -31,7 +31,10 @@
  public:
   // Used by the builder and InstructionSimplifier.
   static HInvokeStaticOrDirect::DispatchInfo SharpenLoadMethod(
-      ArtMethod* callee, bool has_method_id, CodeGenerator* codegen);
+      ArtMethod* callee,
+      bool has_method_id,
+      bool for_interface_call,
+      CodeGenerator* codegen);
 
   // Used by the builder and the inliner.
   static HLoadClass::LoadKind ComputeLoadClassKind(HLoadClass* load_class,