Ensure ClassInitializerDefaultsResult is thread local
Change-Id: I34805d857ae5cf3c5312b71e920aa12dddcf8315
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java b/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
index 0fac2e2..e35087a 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
@@ -93,14 +93,14 @@
private class WaveDoneAction implements Action {
- private final Map<DexEncodedField, DexValue> fieldsWithStaticValues;
- private final Set<DexField> noLongerWrittenFields;
+ private final Map<DexEncodedField, DexValue> fieldsWithStaticValues = new IdentityHashMap<>();
+ private final Set<DexField> noLongerWrittenFields = Sets.newIdentityHashSet();
public WaveDoneAction(
Map<DexEncodedField, DexValue> fieldsWithStaticValues,
Set<DexField> noLongerWrittenFields) {
- this.fieldsWithStaticValues = fieldsWithStaticValues;
- this.noLongerWrittenFields = noLongerWrittenFields;
+ this.fieldsWithStaticValues.putAll(fieldsWithStaticValues);
+ this.noLongerWrittenFields.addAll(noLongerWrittenFields);
}
public synchronized void join(