Version 1.0.1
Merge: Fix race in RootSetBuilder
CL: https://r8-review.googlesource.com/c/r8/+/14860
Change-Id: I81f961bcb475930ca422b52e471a734e14146eda
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 00b3cce..5344a61 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 = "v1.0.0";
+ public static final String LABEL = "v1.0.1";
private Version() {
}
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
index c46b1a2..f504930 100644
--- a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
+++ b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
@@ -40,6 +40,7 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
@@ -396,17 +397,12 @@
return false;
}
- private final IdentityHashMap<DexString, String> stringCache = new IdentityHashMap<>();
- private final IdentityHashMap<DexType, String> typeCache = new IdentityHashMap<>();
+ private final ConcurrentHashMap<DexString, String> stringCache = new ConcurrentHashMap<>();
public String lookupString(DexString name) {
return stringCache.computeIfAbsent(name, DexString::toString);
}
- public String lookupType(DexType type) {
- return typeCache.computeIfAbsent(type, DexType::toSourceString);
- }
-
private void markMethod(DexEncodedMethod method, Collection<ProguardMemberRule> rules,
ProguardConfigurationRule context, Set<Wrapper<DexMethod>> methodsMarked,
DexType onlyIfClassKept) {