diff --git a/r8-compat-proguard b/r8-compat-proguard
index 4cc7cc3..f145b5d 100755
--- a/r8-compat-proguard
+++ b/r8-compat-proguard
@@ -53,9 +53,9 @@
     exit 1
 fi
 
-# By default, give r8 a max heap size of 2 gigs. This can be overridden
+# By default, give r8 a max heap size of 4 gigs. This can be overridden
 # by using a "-J" option (see below).
-defaultMx="-Xmx2G"
+defaultMx="-Xmx4G"
 
 # The following will extract any initial parameters of the form
 # "-J<stuff>" from the command line and pass them to the Java
diff --git a/r8.jar b/r8.jar
index 205ce42..c7364ac 100644
--- a/r8.jar
+++ b/r8.jar
Binary files differ
diff --git a/r8.jar.map b/r8.jar.map
index d30ea6b..11fcc4f 100644
--- a/r8.jar.map
+++ b/r8.jar.map
@@ -1,10 +1,10 @@
 # compiler: R8
-# compiler_version: 3.3.20-dev+aosp5
+# compiler_version: 3.3.20-dev+aosp6
 # compiler_hash: engineering
 # common_typos_disable
 # {"id":"com.android.tools.r8.mapping","version":"2.0"}
-# pg_map_id: 3.3.20-dev+aosp5
-# pg_map_hash: SHA-256 a629c2c3592f558d09a1aa063f8fa13e35ca354216d318a506759ca7374873e0
+# pg_map_id: 3.3.20-dev+aosp6
+# pg_map_hash: SHA-256 d162b5f54f3dbb4e365e6b6d2371e9917910d792e2d2c0b99915b4f352dddb09
 com.android.tools.r8.ApiLevelException -> com.android.tools.r8.internal.g2:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():10:10 -> <clinit>
@@ -101691,58 +101691,75 @@
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():44:44 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView):50:53 -> <init>
-    1:1:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):57:57 -> a
-    2:11:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):76:85 -> a
-    12:12:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():720:720 -> a
-    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
-    12:12:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
-      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
-    13:13:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
-    13:13:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
-    13:13:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
-    14:20:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):87:93 -> a
-    21:23:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):96:98 -> a
-    24:24:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.apply(java.util.function.Consumer):1377:1377 -> a
-    24:24:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):98 -> a
-    25:25:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):99:99 -> a
-    26:73:com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState computeGlobalReservationState(java.util.concurrent.ExecutorService):115:162 -> a
-    74:89:void lambda$computeGlobalReservationState$4(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexTypeList,java.util.Set):137:152 -> a
-    90:91:void com.android.tools.r8.optimize.proto.ProtoNormalizer.computeExtraReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):193:194 -> a
-    90:91:void lambda$computeGlobalReservationState$5(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):158 -> a
-    92:92:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$8(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature):218:218 -> a
-    93:94:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):226:227 -> a
-    95:95:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):263:263 -> a
-    95:95:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
-    96:96:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):263:263 -> a
-    96:96:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
+    com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$10(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
+    1:1:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
+    1:1:void lambda$computeGlobalReservationState$4(com.android.tools.r8.graph.DexMethodSignature,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature):155 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    97:103:void lambda$computeInstanceInitializerCollisions$9(com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,java.util.Map,com.android.tools.r8.graph.ProgramMethod):229:235 -> a
-    104:122:void resolveInstanceInitializerCollisions(java.util.Map):242:260 -> a
-    123:124:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
-    123:124:void resolveInstanceInitializerCollisions(java.util.Map):260 -> a
-    125:132:void resolveInstanceInitializerCollisions(java.util.Map):260:267 -> a
-    133:145:void resolveInstanceInitializerCollisions(java.util.Map):266:278 -> a
-    146:147:void lambda$resolveInstanceInitializerCollisions$10(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):245:246 -> a
-    148:162:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):283:297 -> a
-    148:162:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):170 -> a
-    163:163:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):296:296 -> a
-    163:163:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):170 -> a
-    164:164:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175:175 -> a
-    165:170:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):174:179 -> a
-    171:171:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
-    171:171:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):179 -> a
-    172:172:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184:184 -> a
-    173:175:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):183:185 -> a
-    176:176:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> a
-    176:176:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
-    177:177:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> a
-    177:177:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> a
-    177:177:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
-    178:178:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215:215 -> a
-    com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$7(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> b
+    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
+    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    2:2:void lambda$computeGlobalReservationState$4(com.android.tools.r8.graph.DexMethodSignature,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature):155 -> a
+    3:3:void lambda$computeGlobalReservationState$4(com.android.tools.r8.graph.DexMethodSignature,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature):153:153 -> a
+    4:4:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):57:57 -> a
+    5:14:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):76:85 -> a
+    15:15:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():720:720 -> a
+    15:15:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
+    15:15:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
+    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
+    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
+    16:16:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
+    17:23:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):87:93 -> a
+    24:26:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):96:98 -> a
+    27:27:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.apply(java.util.function.Consumer):1377:1377 -> a
+    27:27:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):98 -> a
+    28:28:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):99:99 -> a
+    29:40:com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState computeGlobalReservationState(java.util.concurrent.ExecutorService):115:126 -> a
+    41:109:com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState computeGlobalReservationState(java.util.concurrent.ExecutorService):125:193 -> a
+    110:130:void lambda$computeGlobalReservationState$6(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexProgramClass):128:148 -> a
+    131:145:void lambda$computeGlobalReservationState$3(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.Map,com.android.tools.r8.graph.ProgramMethod) -> a
+    146:149:void lambda$computeGlobalReservationState$3(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.Map,com.android.tools.r8.graph.ProgramMethod):143:146 -> a
+    150:151:void lambda$computeGlobalReservationState$5(java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
+    152:167:void lambda$computeGlobalReservationState$7(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexTypeList,java.util.Set):168:183 -> a
+    168:169:void addUnoptimizableMethod(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexTypeList,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):223:224 -> a
+    170:170:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
+    170:170:void addUnoptimizableMethod(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexTypeList,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):225 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    171:171:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
+    171:171:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    171:171:void addUnoptimizableMethod(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexTypeList,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):225 -> a
+    172:175:void addUnoptimizableMethod(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexTypeList,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):225:228 -> a
+    176:177:void com.android.tools.r8.optimize.proto.ProtoNormalizer.computeExtraReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):235:236 -> a
+    176:177:void lambda$computeGlobalReservationState$8(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):189 -> a
+    178:178:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$11(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature):260:260 -> a
+    179:180:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):268:269 -> a
+    181:181:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):263:263 -> a
+    181:181:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):269 -> a
+    182:182:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):263:263 -> a
+    182:182:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):269 -> a
+      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
+    183:189:void lambda$computeInstanceInitializerCollisions$12(com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,java.util.Map,com.android.tools.r8.graph.ProgramMethod):271:277 -> a
+    190:208:void resolveInstanceInitializerCollisions(java.util.Map):284:302 -> a
+    209:210:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
+    209:210:void resolveInstanceInitializerCollisions(java.util.Map):302 -> a
+    211:218:void resolveInstanceInitializerCollisions(java.util.Map):302:309 -> a
+    219:231:void resolveInstanceInitializerCollisions(java.util.Map):308:320 -> a
+    232:233:void lambda$resolveInstanceInitializerCollisions$13(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):287:288 -> a
+    234:248:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):325:339 -> a
+    234:248:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexTypeList,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):202 -> a
+    249:249:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):338:338 -> a
+    249:249:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexTypeList,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):202 -> a
+    250:250:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexTypeList,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):204:204 -> a
+    251:260:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexTypeList,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):203:212 -> a
     1:1:void lambda$run$0(java.util.concurrent.ExecutorService):57:57 -> b
-    2:2:void lambda$computeGlobalReservationState$3(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):128:128 -> b
-    3:10:java.util.Map computeNewInstanceInitializerSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):205:212 -> b
+    2:9:java.util.Map computeNewInstanceInitializerSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):247:254 -> b
+    10:10:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> b
+    10:10:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$9(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):257 -> b
+    11:11:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> b
+    11:11:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> b
+    11:11:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$9(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):257 -> b
+    12:12:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$9(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):257:257 -> b
     1:7:void run(java.util.concurrent.ExecutorService):61:67 -> c
     8:8:com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens.builder(com.android.tools.r8.graph.AppView):40:40 -> c
     8:8:void run(java.util.concurrent.ExecutorService):67 -> c
@@ -101750,53 +101767,53 @@
 com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState -> com.android.tools.r8.internal.sP:
     java.util.Map reservedParameters -> a
     com.android.tools.r8.utils.collections.DexMethodSignatureSet unoptimizableSignatures -> b
-    1:3:void <init>(java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):315:317 -> <init>
-    1:2:java.util.Map selectDeterministicTarget(java.util.Map):322:323 -> a
-    3:11:void lambda$selectDeterministicTarget$0(java.util.Map,com.android.tools.r8.graph.DexTypeList,java.util.Set):325:333 -> a
+    1:3:void <init>(java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):357:359 -> <init>
+    1:2:java.util.Map selectDeterministicTarget(java.util.Map):364:365 -> a
+    3:11:void lambda$selectDeterministicTarget$0(java.util.Map,com.android.tools.r8.graph.DexTypeList,java.util.Set):367:375 -> a
 com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState -> com.android.tools.r8.internal.tP:
     com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> a
     boolean $assertionsDisabled -> b
-    1:1:void <clinit>():348:348 -> <clinit>
-    1:3:void <init>():348:350 -> <init>
-    1:1:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):344:344 -> a
-    1:1:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):374 -> a
+    1:1:void <clinit>():390:390 -> <clinit>
+    1:3:void <init>():390:392 -> <init>
+    1:1:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):386:386 -> a
+    1:1:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):416 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    2:2:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):344:344 -> a
-    2:2:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):374 -> a
-    3:8:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):375:380 -> a
+    2:2:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):386:386 -> a
+    2:2:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):416 -> a
+    3:8:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):417:422 -> a
     9:9:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
-    9:9:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):381 -> a
+    9:9:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):423 -> a
     10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
     10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    10:10:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):381 -> a
+    10:10:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):423 -> a
     11:11:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
-    11:11:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
+    11:11:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    11:11:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):382 -> a
+    11:11:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):424 -> a
     12:12:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
     12:12:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    12:12:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
-    12:12:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):382 -> a
-    13:14:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339:340 -> a
-    13:14:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):382 -> a
-    15:15:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):382:382 -> a
-    16:16:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):380:380 -> a
+    12:12:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381 -> a
+    12:12:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):424 -> a
+    13:14:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381:382 -> a
+    13:14:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):424 -> a
+    15:15:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):424:424 -> a
+    16:16:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):422:422 -> a
     17:17:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
-    17:17:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
+    17:17:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    17:17:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):386 -> a
+    17:17:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):428 -> a
     18:18:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
     18:18:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
       # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
-    18:18:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
-    18:18:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):386 -> a
-    19:20:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339:340 -> a
-    19:20:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):386 -> a
-    21:32:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):388:399 -> a
-    33:33:com.android.tools.r8.graph.DexMethodSignature getAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):365:365 -> a
-    1:1:com.android.tools.r8.graph.DexMethodSignature getNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):357:357 -> b
+    18:18:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381 -> a
+    18:18:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):428 -> a
+    19:20:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):381:382 -> a
+    19:20:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):428 -> a
+    21:32:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):430:441 -> a
+    33:33:com.android.tools.r8.graph.DexMethodSignature getAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):407:407 -> a
+    1:1:com.android.tools.r8.graph.DexMethodSignature getNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):399:399 -> b
 com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens -> com.android.tools.r8.internal.wP:
     boolean $assertionsDisabled -> h
     com.android.tools.r8.utils.collections.BidirectionalOneToOneMap newMethodSignatures -> f
