Remove receiver check in inline candidate processor
Bug: 120182628
Change-Id: I5c317f1e111731fe9c426d66fc7cc32d863944c7
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
index 4e2e502..ed05707 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
@@ -270,15 +270,12 @@
// Eligible virtual method call on the instance as a receiver.
if (user.isInvokeVirtual() || user.isInvokeInterface()) {
InvokeMethodWithReceiver invoke = user.asInvokeMethodWithReceiver();
- boolean isMethodCallOnEligibleInstance = invoke.getReceiver() == eligibleInstance;
- if (isMethodCallOnEligibleInstance) {
- InliningInfo inliningInfo =
- isEligibleDirectVirtualMethodCall(user.asInvokeMethodWithReceiver(), indirectUsers);
- if (inliningInfo != null) {
- methodCallsOnInstance.put(user.asInvokeMethodWithReceiver(), inliningInfo);
- continue;
- }
- } else if (isExtraMethodCallEligible(defaultOracle, invoke, invocationContext)) {
+ InliningInfo inliningInfo = isEligibleDirectVirtualMethodCall(invoke, indirectUsers);
+ if (inliningInfo != null) {
+ methodCallsOnInstance.put(invoke, inliningInfo);
+ continue;
+ }
+ if (isExtraMethodCallEligible(defaultOracle, invoke, invocationContext)) {
continue;
}
return false; // Not eligible.