Make MinimumKeepInfoCollection thread safe

Bug: 201495567
Change-Id: I26a1d82b72fba986cca383d458fb6a6f4a978b3d
diff --git a/src/main/java/com/android/tools/r8/shaking/DependentMinimumKeepInfoCollection.java b/src/main/java/com/android/tools/r8/shaking/DependentMinimumKeepInfoCollection.java
index aca76da..8e48dfe 100644
--- a/src/main/java/com/android/tools/r8/shaking/DependentMinimumKeepInfoCollection.java
+++ b/src/main/java/com/android/tools/r8/shaking/DependentMinimumKeepInfoCollection.java
@@ -21,8 +21,8 @@
 import com.android.tools.r8.shaking.KeepInfo.Joiner;
 import com.android.tools.r8.utils.MapUtils;
 import com.android.tools.r8.utils.TriConsumer;
-import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.BiConsumer;
 import java.util.function.Function;
 
@@ -31,12 +31,7 @@
   private final Map<EnqueuerEvent, MinimumKeepInfoCollection> dependentMinimumKeepInfo;
 
   public DependentMinimumKeepInfoCollection() {
-    this(new HashMap<>());
-  }
-
-  private DependentMinimumKeepInfoCollection(
-      Map<EnqueuerEvent, MinimumKeepInfoCollection> dependentMinimumKeepInfo) {
-    this.dependentMinimumKeepInfo = dependentMinimumKeepInfo;
+    this.dependentMinimumKeepInfo = new ConcurrentHashMap<>();
   }
 
   public void forEach(BiConsumer<EnqueuerEvent, MinimumKeepInfoCollection> consumer) {
diff --git a/src/main/java/com/android/tools/r8/shaking/MinimumKeepInfoCollection.java b/src/main/java/com/android/tools/r8/shaking/MinimumKeepInfoCollection.java
index 9f97e63..ec1594a 100644
--- a/src/main/java/com/android/tools/r8/shaking/MinimumKeepInfoCollection.java
+++ b/src/main/java/com/android/tools/r8/shaking/MinimumKeepInfoCollection.java
@@ -20,8 +20,8 @@
 import com.android.tools.r8.shaking.KeepInfo.Joiner;
 import com.android.tools.r8.utils.MapUtils;
 import java.util.Collections;
-import java.util.IdentityHashMap;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.BiConsumer;
 import java.util.function.BiPredicate;
 import java.util.function.Predicate;
@@ -34,7 +34,7 @@
   private final Map<DexReference, KeepInfo.Joiner<?, ?, ?>> minimumKeepInfo;
 
   public MinimumKeepInfoCollection() {
-    this(new IdentityHashMap<>());
+    this(new ConcurrentHashMap<>());
   }
 
   private MinimumKeepInfoCollection(Map<DexReference, KeepInfo.Joiner<?, ?, ?>> minimumKeepInfo) {