Fix error prone failure from ProgramMethod comparison

Change-Id: I1f18872810774a5e073f6a7f91ddb8c9ebad6f5c
diff --git a/src/main/java/com/android/tools/r8/optimize/singlecaller/SingleCallerScanner.java b/src/main/java/com/android/tools/r8/optimize/singlecaller/SingleCallerScanner.java
index c0d5b6a..cf0719c 100644
--- a/src/main/java/com/android/tools/r8/optimize/singlecaller/SingleCallerScanner.java
+++ b/src/main/java/com/android/tools/r8/optimize/singlecaller/SingleCallerScanner.java
@@ -19,6 +19,7 @@
 import com.android.tools.r8.lightir.LirInstructionView;
 import com.android.tools.r8.lightir.LirOpcodes;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
+import com.android.tools.r8.utils.ObjectUtils;
 import com.android.tools.r8.utils.ThreadUtils;
 import com.android.tools.r8.utils.collections.ProgramMethodMap;
 import com.android.tools.r8.utils.collections.ProgramMethodSet;
@@ -55,7 +56,7 @@
     traceResult.forEach(
         (callee, caller) -> {
           if (callee.getDefinition().hasCode()
-              && caller != MULTIPLE_CALLERS
+              && ObjectUtils.notIdentical(caller, MULTIPLE_CALLERS)
               && !callee.isStructurallyEqualTo(caller)) {
             singleCallerMethodCandidates.put(callee, caller);
           }
@@ -86,7 +87,7 @@
     }
     threadLocalSingleCallerMethods.forEach(
         (callee, caller) -> {
-          if (caller == MULTIPLE_CALLERS) {
+          if (ObjectUtils.identical(caller, MULTIPLE_CALLERS)) {
             singleCallerMethods.put(callee, MULTIPLE_CALLERS);
           } else {
             recordCallEdge(caller, callee, singleCallerMethods);