Don't inline unresolved invokes

Bug: 280354288
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Change-Id: I1652d3f310791036da5ae6ea36266ecb89aaa080
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc
index 59d6c7f..91be79f 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -2026,8 +2026,10 @@
       if (current->IsUnresolvedStaticFieldGet() ||
           current->IsUnresolvedInstanceFieldGet() ||
           current->IsUnresolvedStaticFieldSet() ||
-          current->IsUnresolvedInstanceFieldSet()) {
-        // Entrypoint for unresolved fields does not handle inlined frames.
+          current->IsUnresolvedInstanceFieldSet() ||
+          current->IsInvokeUnresolved()) {
+        // Unresolved invokes / field accesses are expensive at runtime when decoding inlining info,
+        // so don't inline methods that have them.
         LOG_FAIL(stats_, MethodCompilationStat::kNotInlinedUnresolvedEntrypoint)
             << "Method " << resolved_method->PrettyMethod()
             << " could not be inlined because it is using an unresolved"
diff --git a/test/675-checker-unverified-method/smali/TestCase.smali b/test/675-checker-unverified-method/smali/TestCase.smali
index a1b89cb..cd9ed1e 100644
--- a/test/675-checker-unverified-method/smali/TestCase.smali
+++ b/test/675-checker-unverified-method/smali/TestCase.smali
@@ -19,7 +19,7 @@
 #
 ## CHECK-START: void TestCase.foo(java.lang.Object) inliner (after)
 ## CHECK-DAG: InvokeStaticOrDirect method_name:TestCase.bar always_throws:true
-## CHECK-NOT: InvokeStaticOrDirect method_name:TestCase.bad
+## CHECK-DAG: InvokeStaticOrDirect method_name:TestCase.bad
 .method public static foo(Ljava/lang/Object;)V
   .registers 1
   if-nez v0, :Skip1