Fix thread unsafe access to method-id map in LambdaRewriter.
Change-Id: I6cfb28c74ba355a9f30c4dc736eb28da5a2abf0e
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
index d857eaa..165cb52 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
@@ -39,14 +39,13 @@
import com.google.common.collect.Sets;
import com.google.common.hash.Hasher;
import com.google.common.hash.Hashing;
-import it.unimi.dsi.fastutil.objects.Reference2IntMap;
-import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.function.Function;
@@ -77,7 +76,7 @@
// NOTE: synchronize concurrent access on `knownLambdaClasses`.
private final List<LambdaClass> knownLambdaClasses = new ArrayList<>();
- private final Reference2IntMap<DexMethod> methodIds = new Reference2IntOpenHashMap<>();
+ private final Map<DexMethod, Integer> methodIds = new ConcurrentHashMap<>();
public LambdaRewriter(AppView<?> appView) {
this.appView = appView;