Version 1.6.49
Cherry pick: Compute backported method checksums as the hash of its method signature.
CL: https://r8-review.googlesource.com/c/r8/+/45192
Bug: 143949125
Change-Id: I25bb0a4520a4216df231d48c8c5d2b15f2f1f31d
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 26b8f8e..db6daa1 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
// This field is accessed from release scripts using simple pattern matching.
// Therefore, changing this field could break our release scripts.
- public static final String LABEL = "1.6.48";
+ public static final String LABEL = "1.6.49";
private Version() {
}
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
index 09f2b7e..ad3dfb6 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
@@ -49,7 +49,6 @@
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
@@ -202,8 +201,7 @@
if (!appView.options().encodeChecksums) {
return DexProgramClass::invalidChecksumRequest;
}
- long hash = Objects.hash(method, method.getCode());
- return c -> hash;
+ return c -> method.method.hashCode();
}
private MethodProvider getMethodProviderOrNull(DexMethod method) {
diff --git a/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java b/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
index 6cd2bdf..adb32ed 100644
--- a/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
@@ -95,6 +95,7 @@
testForD8()
.setMinApi(parameters.getRuntime())
.apply(this::configureProgram)
+ .setIncludeClassesChecksum(true)
.compile()
.run(parameters.getRuntime(), testClassName)
.assertSuccess()