Rename ArtProfileCollectionAdditions to ProfileCollectionAdditions

Change-Id: I9b92026a24ee4db2871519316d8291316cdab9fd
diff --git a/src/main/java/com/android/tools/r8/GenerateMainDexList.java b/src/main/java/com/android/tools/r8/GenerateMainDexList.java
index 3c17174..14677cc 100644
--- a/src/main/java/com/android/tools/r8/GenerateMainDexList.java
+++ b/src/main/java/com/android/tools/r8/GenerateMainDexList.java
@@ -15,7 +15,7 @@
 import com.android.tools.r8.graph.DexClass;
 import com.android.tools.r8.graph.DexProgramClass;
 import com.android.tools.r8.graph.SubtypingInfo;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.Enqueuer;
 import com.android.tools.r8.shaking.EnqueuerFactory;
 import com.android.tools.r8.shaking.MainDexInfo;
@@ -66,11 +66,10 @@
 
     SubtypingInfo subtypingInfo = SubtypingInfo.create(appView);
 
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.nop();
+    ProfileCollectionAdditions profileCollectionAdditions = ProfileCollectionAdditions.nop();
     MainDexRootSet mainDexRootSet =
         MainDexRootSet.builder(
-                appView, artProfileCollectionAdditions, subtypingInfo, options.mainDexKeepRules)
+                appView, profileCollectionAdditions, subtypingInfo, options.mainDexKeepRules)
             .build(executor);
     appView.setMainDexRootSet(mainDexRootSet);
 
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 9e8e260..3f0da93 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -73,7 +73,7 @@
 import com.android.tools.r8.optimize.proto.ProtoNormalizer;
 import com.android.tools.r8.origin.CommandLineOrigin;
 import com.android.tools.r8.profile.art.ArtProfileCompletenessChecker;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.repackaging.Repackaging;
 import com.android.tools.r8.repackaging.RepackagingLens;
 import com.android.tools.r8.shaking.AbstractMethodRemover;
@@ -331,14 +331,14 @@
                     options.itemFactory, options.getMinApiLevel()));
           }
         }
-        ArtProfileCollectionAdditions artProfileCollectionAdditions =
-            ArtProfileCollectionAdditions.create(appView);
+        ProfileCollectionAdditions profileCollectionAdditions =
+            ProfileCollectionAdditions.create(appView);
         AssumeInfoCollection.Builder assumeInfoCollectionBuilder = AssumeInfoCollection.builder();
         SubtypingInfo subtypingInfo = SubtypingInfo.create(appView);
         appView.setRootSet(
             RootSet.builder(
                     appView,
-                    artProfileCollectionAdditions,
+                    profileCollectionAdditions,
                     subtypingInfo,
                     Iterables.concat(
                         options.getProguardConfiguration().getRules(), synthesizedProguardRules))
@@ -353,10 +353,7 @@
           // Find classes which may have code executed before secondary dex files installation.
           MainDexRootSet mainDexRootSet =
               MainDexRootSet.builder(
-                      appView,
-                      artProfileCollectionAdditions,
-                      subtypingInfo,
-                      options.mainDexKeepRules)
+                      appView, profileCollectionAdditions, subtypingInfo, options.mainDexKeepRules)
                   .build(executorService);
           appView.setMainDexRootSet(mainDexRootSet);
           appView.appInfo().unsetObsolete();
@@ -371,7 +368,7 @@
                 annotationRemoverBuilder,
                 executorService,
                 appView,
-                artProfileCollectionAdditions,
+                profileCollectionAdditions,
                 subtypingInfo,
                 classMergingEnqueuerExtensionBuilder);
         timing.end();
@@ -970,14 +967,14 @@
       AnnotationRemover.Builder annotationRemoverBuilder,
       ExecutorService executorService,
       AppView<AppInfoWithClassHierarchy> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SubtypingInfo subtypingInfo,
       RuntimeTypeCheckInfo.Builder classMergingEnqueuerExtensionBuilder)
       throws ExecutionException {
     timing.begin("Set up enqueuer");
     Enqueuer enqueuer =
         EnqueuerFactory.createForInitialTreeShaking(
-            appView, artProfileCollectionAdditions, executorService, subtypingInfo);
+            appView, profileCollectionAdditions, executorService, subtypingInfo);
     enqueuer.setAnnotationRemoverBuilder(annotationRemoverBuilder);
     if (appView.options().enableInitializedClassesInInstanceMethodsAnalysis) {
       enqueuer.registerAnalysis(new InitializedClassesInInstanceMethodsAnalysis(appView));
@@ -997,7 +994,7 @@
     timing.begin("Trace application");
     EnqueuerResult enqueuerResult =
         enqueuer.traceApplication(appView.rootSet(), executorService, timing);
-    assert artProfileCollectionAdditions.verifyIsCommitted();
+    assert profileCollectionAdditions.verifyIsCommitted();
     timing.end();
     timing.begin("Finalize enqueuer result");
     AppView<AppInfoWithLiveness> appViewWithLiveness =
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/ClassMerger.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/ClassMerger.java
index 96bf9a5..1cf6415 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/ClassMerger.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/ClassMerger.java
@@ -29,7 +29,7 @@
 import com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue;
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedback;
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.SetUtils;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
@@ -107,13 +107,11 @@
   }
 
   void mergeDirectMethods(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder) {
     mergeInstanceInitializers(
-        artProfileCollectionAdditions,
-        syntheticArgumentClass,
-        syntheticInitializerConverterBuilder);
+        profileCollectionAdditions, syntheticArgumentClass, syntheticInitializerConverterBuilder);
     mergeStaticClassInitializers(syntheticInitializerConverterBuilder);
     group.forEach(this::mergeDirectMethods);
   }
@@ -192,38 +190,36 @@
   }
 
   void mergeInstanceInitializers(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder) {
     instanceInitializerMergers.forEach(
         merger ->
             merger.merge(
-                artProfileCollectionAdditions,
+                profileCollectionAdditions,
                 classMethodsBuilder,
                 syntheticArgumentClass,
                 syntheticInitializerConverterBuilder));
   }
 
   void mergeMethods(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder,
       Consumer<VirtuallyMergedMethodsKeepInfo> virtuallyMergedMethodsKeepInfoConsumer) {
-    mergeVirtualMethods(artProfileCollectionAdditions, virtuallyMergedMethodsKeepInfoConsumer);
+    mergeVirtualMethods(profileCollectionAdditions, virtuallyMergedMethodsKeepInfoConsumer);
     mergeDirectMethods(
-        artProfileCollectionAdditions,
-        syntheticArgumentClass,
-        syntheticInitializerConverterBuilder);
+        profileCollectionAdditions, syntheticArgumentClass, syntheticInitializerConverterBuilder);
     classMethodsBuilder.setClassMethods(group.getTarget());
   }
 
   void mergeVirtualMethods(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       Consumer<VirtuallyMergedMethodsKeepInfo> virtuallyMergedMethodsKeepInfoConsumer) {
     virtualMethodMergers.forEach(
         merger ->
             merger.merge(
-                artProfileCollectionAdditions,
+                profileCollectionAdditions,
                 classMethodsBuilder,
                 lensBuilder,
                 classIdentifiers,
@@ -342,7 +338,7 @@
   }
 
   public void mergeGroup(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       PrunedItems.Builder prunedItemsBuilder,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder,
@@ -353,7 +349,7 @@
     mergeInterfaces();
     mergeFields(prunedItemsBuilder);
     mergeMethods(
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         syntheticArgumentClass,
         syntheticInitializerConverterBuilder,
         virtuallyMergedMethodsKeepInfoConsumer);
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMerger.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMerger.java
index 8fc788b..b3381c3 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/HorizontalClassMerger.java
@@ -18,7 +18,7 @@
 import com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter;
 import com.android.tools.r8.ir.code.InvokeType;
 import com.android.tools.r8.profile.art.ArtProfileCompletenessChecker;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
 import com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier;
 import com.android.tools.r8.shaking.KeepInfoCollection;
@@ -126,8 +126,8 @@
 
     // Merge the classes.
     List<ClassMerger> classMergers = initializeClassMergers(codeProvider, lensBuilder, groups);
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     SyntheticArgumentClass syntheticArgumentClass =
         mode.isInitial()
             ? new SyntheticArgumentClass.Builder(appView.withLiveness()).build(groups)
@@ -138,7 +138,7 @@
     PrunedItems prunedItems =
         applyClassMergers(
             classMergers,
-            artProfileCollectionAdditions,
+            profileCollectionAdditions,
             syntheticArgumentClass,
             syntheticInitializerConverterBuilder,
             virtuallyMergedMethodsKeepInfos::add);
@@ -155,13 +155,9 @@
 
     HorizontalClassMergerGraphLens horizontalClassMergerGraphLens =
         createLens(
-            mergedClasses,
-            lensBuilder,
-            mode,
-            artProfileCollectionAdditions,
-            syntheticArgumentClass);
-    artProfileCollectionAdditions =
-        artProfileCollectionAdditions.rewriteMethodReferences(
+            mergedClasses, lensBuilder, mode, profileCollectionAdditions, syntheticArgumentClass);
+    profileCollectionAdditions =
+        profileCollectionAdditions.rewriteMethodReferences(
             horizontalClassMergerGraphLens::getNextMethodToInvoke);
 
     assert verifyNoCyclesInInterfaceHierarchies(appView, groups);
@@ -195,7 +191,7 @@
     codeProvider.setGraphLens(horizontalClassMergerGraphLens);
 
     // Amend art profile collection.
-    artProfileCollectionAdditions
+    profileCollectionAdditions
         .setArtProfileCollection(appView.getArtProfileCollection())
         .commit(appView);
 
@@ -374,14 +370,14 @@
   /** Merges all class groups using {@link ClassMerger}. */
   private PrunedItems applyClassMergers(
       Collection<ClassMerger> classMergers,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder,
       Consumer<VirtuallyMergedMethodsKeepInfo> virtuallyMergedMethodsKeepInfoConsumer) {
     PrunedItems.Builder prunedItemsBuilder = PrunedItems.builder().setPrunedApp(appView.app());
     for (ClassMerger merger : classMergers) {
       merger.mergeGroup(
-          artProfileCollectionAdditions,
+          profileCollectionAdditions,
           prunedItemsBuilder,
           syntheticArgumentClass,
           syntheticInitializerConverterBuilder,
@@ -398,14 +394,14 @@
       HorizontallyMergedClasses mergedClasses,
       HorizontalClassMergerGraphLens.Builder lensBuilder,
       Mode mode,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass) {
     return new TreeFixer(
             appView,
             mergedClasses,
             lensBuilder,
             mode,
-            artProfileCollectionAdditions,
+            profileCollectionAdditions,
             syntheticArgumentClass)
         .fixupTypeReferences();
   }
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/InstanceInitializerMerger.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/InstanceInitializerMerger.java
index d827984..e1a6710 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/InstanceInitializerMerger.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/InstanceInitializerMerger.java
@@ -24,7 +24,7 @@
 import com.android.tools.r8.ir.conversion.ExtraConstantIntParameter;
 import com.android.tools.r8.ir.conversion.ExtraParameter;
 import com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.ArrayUtils;
 import com.android.tools.r8.utils.BooleanUtils;
 import com.android.tools.r8.utils.Box;
@@ -298,7 +298,7 @@
 
   /** Synthesize a new method which selects the constructor based on a parameter type. */
   void merge(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       ClassMethodsBuilder classMethodsBuilder,
       SyntheticArgumentClass syntheticArgumentClass,
       SyntheticInitializerConverter.Builder syntheticInitializerConverterBuilder) {
@@ -324,7 +324,7 @@
     // Amend the art profile collection.
     if (usedSyntheticArgumentClasses.isSet()) {
       for (ProgramMethod instanceInitializer : instanceInitializers) {
-        artProfileCollectionAdditions.applyIfContextIsInProfile(
+        profileCollectionAdditions.applyIfContextIsInProfile(
             instanceInitializer.getReference(),
             additionsBuilder ->
                 usedSyntheticArgumentClasses.get().forEach(additionsBuilder::addRule));
@@ -353,7 +353,7 @@
             instanceInitializer.getReference(), movedInstanceInitializer);
 
         // Amend the art profile collection.
-        artProfileCollectionAdditions.applyIfContextIsInProfile(
+        profileCollectionAdditions.applyIfContextIsInProfile(
             instanceInitializer.getReference(),
             additionsBuilder -> additionsBuilder.addRule(representative));
       }
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/TreeFixer.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/TreeFixer.java
index a4b8ae0..948c889 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/TreeFixer.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/TreeFixer.java
@@ -21,7 +21,7 @@
 import com.android.tools.r8.graph.TreeFixerBase;
 import com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.Mode;
 import com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.AnnotationFixer;
 import com.android.tools.r8.utils.ArrayUtils;
 import com.android.tools.r8.utils.Box;
@@ -49,7 +49,7 @@
   private final Mode mode;
   private final HorizontalClassMergerGraphLens.Builder lensBuilder;
   private final DexItemFactory dexItemFactory;
-  private final ArtProfileCollectionAdditions artProfileCollectionAdditions;
+  private final ProfileCollectionAdditions profileCollectionAdditions;
   private final SyntheticArgumentClass syntheticArgumentClass;
 
   private final Map<DexProgramClass, DexType> originalSuperTypes = new IdentityHashMap<>();
@@ -61,14 +61,14 @@
       HorizontallyMergedClasses mergedClasses,
       HorizontalClassMergerGraphLens.Builder lensBuilder,
       Mode mode,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       SyntheticArgumentClass syntheticArgumentClass) {
     super(appView);
     this.appView = appView;
     this.mergedClasses = mergedClasses;
     this.mode = mode;
     this.lensBuilder = lensBuilder;
-    this.artProfileCollectionAdditions = artProfileCollectionAdditions;
+    this.profileCollectionAdditions = profileCollectionAdditions;
     this.syntheticArgumentClass = syntheticArgumentClass;
     this.dexItemFactory = appView.dexItemFactory();
   }
@@ -311,13 +311,13 @@
           Set<DexMethod> previousMethodReferences =
               lensBuilder.methodMap.getKeys(originalMethodReference);
           if (previousMethodReferences.isEmpty()) {
-            artProfileCollectionAdditions.applyIfContextIsInProfile(
+            profileCollectionAdditions.applyIfContextIsInProfile(
                 originalMethodReference,
                 additionsBuilder ->
                     usedSyntheticArgumentClasses.get().forEach(additionsBuilder::addRule));
           } else {
             for (DexMethod previousMethodReference : previousMethodReferences) {
-              artProfileCollectionAdditions.applyIfContextIsInProfile(
+              profileCollectionAdditions.applyIfContextIsInProfile(
                   previousMethodReference,
                   additionsBuilder ->
                       usedSyntheticArgumentClasses.get().forEach(additionsBuilder::addRule));
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/VirtualMethodMerger.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/VirtualMethodMerger.java
index b47b947..a9dd719 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/VirtualMethodMerger.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/VirtualMethodMerger.java
@@ -14,7 +14,7 @@
 import com.android.tools.r8.graph.MethodAccessFlags;
 import com.android.tools.r8.graph.MethodResolutionResult.SingleResolutionResult;
 import com.android.tools.r8.graph.ProgramMethod;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.ListUtils;
 import com.android.tools.r8.utils.OptionalBool;
 import com.android.tools.r8.utils.structural.Ordered;
@@ -245,7 +245,7 @@
   }
 
   public void merge(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       ClassMethodsBuilder classMethodsBuilder,
       HorizontalClassMergerGraphLens.Builder lensBuilder,
       Reference2IntMap<DexType> classIdentifiers,
@@ -327,9 +327,9 @@
     lensBuilder.recordNewMethodSignature(bridgeMethodReference, newMethodReference);
 
     // Amend the art profile collection.
-    if (!artProfileCollectionAdditions.isNop()) {
+    if (!profileCollectionAdditions.isNop()) {
       for (ProgramMethod oldMethod : methods) {
-        artProfileCollectionAdditions.applyIfContextIsInProfile(
+        profileCollectionAdditions.applyIfContextIsInProfile(
             oldMethod.getReference(),
             additionsBuilder -> additionsBuilder.addRule(representativeMethod.getReference()));
       }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/ClassConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/ClassConverter.java
index 7cbb122..9782300 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/ClassConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/ClassConverter.java
@@ -13,7 +13,7 @@
 import com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.itf.InterfaceProcessor;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.MapUtils;
 import com.android.tools.r8.utils.ThreadUtils;
 import com.android.tools.r8.utils.collections.ImmutableDeque;
@@ -114,11 +114,10 @@
       ClassConverterResult.Builder resultBuilder, ExecutorService executorService)
       throws ExecutionException {
     Collection<DexProgramClass> classes = appView.appInfo().classes();
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        methodProcessor.getArtProfileCollectionAdditions();
+    ProfileCollectionAdditions profileCollectionAdditions =
+        methodProcessor.getProfileCollectionAdditions();
     CfClassSynthesizerDesugaringEventConsumer classSynthesizerEventConsumer =
-        CfClassSynthesizerDesugaringEventConsumer.createForD8(
-            appView, artProfileCollectionAdditions);
+        CfClassSynthesizerDesugaringEventConsumer.createForD8(appView, profileCollectionAdditions);
     converter.classSynthesisDesugaring(executorService, classSynthesizerEventConsumer);
     if (!classSynthesizerEventConsumer.getSynthesizedClasses().isEmpty()) {
       classes =
@@ -130,7 +129,7 @@
 
     CfInstructionDesugaringEventConsumer instructionDesugaringEventConsumerForPrepareStep =
         CfInstructionDesugaringEventConsumer.createForD8(
-            appView, artProfileCollectionAdditions, resultBuilder, methodProcessor);
+            appView, profileCollectionAdditions, resultBuilder, methodProcessor);
     converter.prepareDesugaring(instructionDesugaringEventConsumerForPrepareStep, executorService);
     assert instructionDesugaringEventConsumerForPrepareStep.verifyNothingToFinalize();
 
@@ -153,7 +152,7 @@
 
       CfInstructionDesugaringEventConsumer instructionDesugaringEventConsumerForWave =
           CfInstructionDesugaringEventConsumer.createForD8(
-              appView, artProfileCollectionAdditions, resultBuilder, methodProcessor);
+              appView, profileCollectionAdditions, resultBuilder, methodProcessor);
 
       // Process the wave and wait for all IR processing to complete.
       methodProcessor.newWave();
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java b/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
index 9a81a28..fec53b0 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
@@ -12,7 +12,7 @@
 import com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation;
 import com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer;
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.ThreadUtils;
 import com.google.common.collect.Sets;
 import java.util.ArrayList;
@@ -25,7 +25,7 @@
 
 public class D8MethodProcessor extends MethodProcessor {
 
-  private final ArtProfileCollectionAdditions artProfileCollectionAdditions;
+  private final ProfileCollectionAdditions profileCollectionAdditions;
   private final PrimaryD8L8IRConverter converter;
   private final MethodProcessorEventConsumer eventConsumer;
   private final ExecutorService executorService;
@@ -44,12 +44,12 @@
   private ProcessorContext processorContext;
 
   public D8MethodProcessor(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       PrimaryD8L8IRConverter converter,
       ExecutorService executorService) {
-    this.artProfileCollectionAdditions = artProfileCollectionAdditions;
+    this.profileCollectionAdditions = profileCollectionAdditions;
     this.converter = converter;
-    this.eventConsumer = MethodProcessorEventConsumer.createForD8(artProfileCollectionAdditions);
+    this.eventConsumer = MethodProcessorEventConsumer.createForD8(profileCollectionAdditions);
     this.executorService = executorService;
     this.processorContext = converter.appView.createProcessorContext();
   }
@@ -68,8 +68,8 @@
     return processorContext.createMethodProcessingContext(method);
   }
 
-  public ArtProfileCollectionAdditions getArtProfileCollectionAdditions() {
-    return artProfileCollectionAdditions;
+  public ProfileCollectionAdditions getProfileCollectionAdditions() {
+    return profileCollectionAdditions;
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/MethodProcessorEventConsumer.java b/src/main/java/com/android/tools/r8/ir/conversion/MethodProcessorEventConsumer.java
index e360a95..adb8af6 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/MethodProcessorEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/MethodProcessorEventConsumer.java
@@ -12,8 +12,8 @@
 import com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizationsEventConsumer;
 import com.android.tools.r8.ir.optimize.api.InstanceInitializerOutlinerEventConsumer;
 import com.android.tools.r8.ir.optimize.enums.EnumUnboxerMethodProcessorEventConsumer;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingMethodProcessorEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
 
 public abstract class MethodProcessorEventConsumer
@@ -26,9 +26,9 @@
   public void finished(AppView<AppInfoWithLiveness> appView) {}
 
   public static MethodProcessorEventConsumer createForD8(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions) {
+      ProfileCollectionAdditions profileCollectionAdditions) {
     return ArtProfileRewritingMethodProcessorEventConsumer.attach(
-        artProfileCollectionAdditions, empty());
+        profileCollectionAdditions, empty());
   }
 
   public static MethodProcessorEventConsumer createForR8(
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
index cf7a083..b2959f2 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
@@ -33,7 +33,7 @@
 import com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring;
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedback;
 import com.android.tools.r8.position.MethodPosition;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.ExceptionUtils;
 import com.android.tools.r8.utils.ListUtils;
 import com.android.tools.r8.utils.ThreadUtils;
@@ -54,10 +54,10 @@
     LambdaDeserializationMethodRemover.run(appView);
     workaroundAbstractMethodOnNonAbstractClassVerificationBug(executorService);
     DexApplication application = appView.appInfo().app();
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     D8MethodProcessor methodProcessor =
-        new D8MethodProcessor(artProfileCollectionAdditions, this, executorService);
+        new D8MethodProcessor(profileCollectionAdditions, this, executorService);
     InterfaceProcessor interfaceProcessor = InterfaceProcessor.create(appView);
 
     timing.begin("IR conversion");
@@ -90,7 +90,7 @@
       new L8InnerOuterAttributeEraser(appView).run();
     }
 
-    processCovariantReturnTypeAnnotations(builder, artProfileCollectionAdditions);
+    processCovariantReturnTypeAnnotations(builder, profileCollectionAdditions);
 
     timing.end();
 
@@ -100,7 +100,7 @@
             appView.appInfo().getSyntheticItems().commit(application),
             appView.appInfo().getMainDexInfo()));
 
-    artProfileCollectionAdditions.commit(appView);
+    profileCollectionAdditions.commit(appView);
   }
 
   void convertMethods(
@@ -310,7 +310,7 @@
     CfPostProcessingDesugaringEventConsumer eventConsumer =
         CfPostProcessingDesugaringEventConsumer.createForD8(
             appView,
-            methodProcessor.getArtProfileCollectionAdditions(),
+            methodProcessor.getProfileCollectionAdditions(),
             methodProcessor,
             instructionDesugaring);
     methodProcessor.newWave();
@@ -341,12 +341,11 @@
   }
 
   private void processCovariantReturnTypeAnnotations(
-      Builder<?> builder, ArtProfileCollectionAdditions artProfileCollectionAdditions) {
+      Builder<?> builder, ProfileCollectionAdditions profileCollectionAdditions) {
     if (covariantReturnTypeAnnotationTransformer != null) {
       covariantReturnTypeAnnotationTransformer.process(
           builder,
-          CovariantReturnTypeAnnotationTransformerEventConsumer.create(
-              artProfileCollectionAdditions));
+          CovariantReturnTypeAnnotationTransformerEventConsumer.create(profileCollectionAdditions));
     }
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfClassSynthesizerDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/ir/desugar/CfClassSynthesizerDesugaringEventConsumer.java
index 49a7dd8..c9f85bd 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfClassSynthesizerDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfClassSynthesizerDesugaringEventConsumer.java
@@ -14,8 +14,8 @@
 import com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer.L8ProgramEmulatedInterfaceSynthesizerEventConsumer;
 import com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer.RecordClassSynthesizerDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.varhandle.VarHandleDesugaringEventConsumer;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.google.common.collect.Sets;
 import java.util.Set;
 
@@ -29,11 +29,11 @@
   protected CfClassSynthesizerDesugaringEventConsumer() {}
 
   public static CfClassSynthesizerDesugaringEventConsumer createForD8(
-      AppView<?> appView, ArtProfileCollectionAdditions artProfileCollectionAdditions) {
+      AppView<?> appView, ProfileCollectionAdditions profileCollectionAdditions) {
     CfClassSynthesizerDesugaringEventConsumer eventConsumer =
         new D8R8CfClassSynthesizerDesugaringEventConsumer();
     return ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer.attach(
-        appView, eventConsumer, artProfileCollectionAdditions);
+        appView, eventConsumer, profileCollectionAdditions);
   }
 
   public static CfClassSynthesizerDesugaringEventConsumer createForR8(
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
index 7290623..dc0a243 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
@@ -32,8 +32,8 @@
 import com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer.RecordInstructionDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.twr.TwrCloseResourceDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.varhandle.VarHandleDesugaringEventConsumer;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingCfInstructionDesugaringEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.Enqueuer.SyntheticAdditions;
 import com.android.tools.r8.shaking.KeepMethodInfo.Joiner;
 import com.google.common.collect.Sets;
@@ -70,7 +70,7 @@
 
   public static CfInstructionDesugaringEventConsumer createForD8(
       AppView<?> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       ClassConverterResult.Builder classConverterResultBuilder,
       D8MethodProcessor methodProcessor) {
     D8CfInstructionDesugaringEventConsumer eventConsumer =
@@ -78,14 +78,14 @@
             appView, classConverterResultBuilder, methodProcessor);
     CfInstructionDesugaringEventConsumer outermostEventConsumer =
         ArtProfileRewritingCfInstructionDesugaringEventConsumer.attach(
-            appView, artProfileCollectionAdditions, eventConsumer);
+            appView, profileCollectionAdditions, eventConsumer);
     eventConsumer.setOutermostEventConsumer(outermostEventConsumer);
     return outermostEventConsumer;
   }
 
   public static CfInstructionDesugaringEventConsumer createForR8(
       AppView<? extends AppInfoWithClassHierarchy> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       BiConsumer<LambdaClass, ProgramMethod> lambdaClassConsumer,
       BiConsumer<ConstantDynamicClass, ProgramMethod> constantDynamicClassConsumer,
       BiConsumer<ProgramMethod, ProgramMethod> twrCloseResourceMethodConsumer,
@@ -100,7 +100,7 @@
             additions,
             companionMethodConsumer);
     return ArtProfileRewritingCfInstructionDesugaringEventConsumer.attach(
-        appView, artProfileCollectionAdditions, eventConsumer);
+        appView, profileCollectionAdditions, eventConsumer);
   }
 
   public abstract List<ProgramMethod> finalizeDesugaring();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringEventConsumer.java
index 7a38cf1..25d13ca 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringEventConsumer.java
@@ -18,8 +18,8 @@
 import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer.DesugaredLibraryRetargeterPostProcessingEventConsumer;
 import com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper;
 import com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingCfPostProcessingDesugaringEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.Enqueuer.SyntheticAdditions;
 import com.android.tools.r8.utils.collections.ProgramMethodSet;
 import java.util.Collections;
@@ -39,25 +39,25 @@
 
   public static CfPostProcessingDesugaringEventConsumer createForD8(
       AppView<?> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       D8MethodProcessor methodProcessor,
       CfInstructionDesugaringCollection instructionDesugaring) {
     CfPostProcessingDesugaringEventConsumer eventConsumer =
         new D8CfPostProcessingDesugaringEventConsumer(methodProcessor, instructionDesugaring);
     return ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.attach(
-        appView, artProfileCollectionAdditions, eventConsumer);
+        appView, profileCollectionAdditions, eventConsumer);
   }
 
   public static CfPostProcessingDesugaringEventConsumer createForR8(
       AppView<?> appView,
       SyntheticAdditions additions,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       CfInstructionDesugaringCollection desugaring,
       BiConsumer<DexProgramClass, DexType> missingClassConsumer) {
     CfPostProcessingDesugaringEventConsumer eventConsumer =
         new R8PostProcessingDesugaringEventConsumer(additions, desugaring, missingClassConsumer);
     return ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.attach(
-        appView, artProfileCollectionAdditions, eventConsumer);
+        appView, profileCollectionAdditions, eventConsumer);
   }
 
   public abstract Set<DexMethod> getNewlyLiveMethods();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CovariantReturnTypeAnnotationTransformerEventConsumer.java b/src/main/java/com/android/tools/r8/ir/desugar/CovariantReturnTypeAnnotationTransformerEventConsumer.java
index dc4add0..d57d175 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CovariantReturnTypeAnnotationTransformerEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CovariantReturnTypeAnnotationTransformerEventConsumer.java
@@ -5,20 +5,20 @@
 package com.android.tools.r8.ir.desugar;
 
 import com.android.tools.r8.graph.ProgramMethod;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 
 public interface CovariantReturnTypeAnnotationTransformerEventConsumer {
 
   void acceptCovariantReturnTypeBridgeMethod(ProgramMethod bridge, ProgramMethod target);
 
   static CovariantReturnTypeAnnotationTransformerEventConsumer create(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions) {
-    if (artProfileCollectionAdditions.isNop()) {
+      ProfileCollectionAdditions profileCollectionAdditions) {
+    if (profileCollectionAdditions.isNop()) {
       return empty();
     }
     return ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer.attach(
-        artProfileCollectionAdditions, empty());
+        profileCollectionAdditions, empty());
   }
 
   static EmptyCovariantReturnTypeAnnotationTransformerEventConsumer empty() {
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/nest/D8NestBasedAccessDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/nest/D8NestBasedAccessDesugaring.java
index efac97b..8f3bbcc 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/nest/D8NestBasedAccessDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/nest/D8NestBasedAccessDesugaring.java
@@ -93,7 +93,7 @@
 
     NestBasedAccessDesugaringEventConsumer eventConsumer =
         ArtProfileRewritingNestBasedAccessDesugaringEventConsumer.attach(
-            methodProcessor.getArtProfileCollectionAdditions(),
+            methodProcessor.getProfileCollectionAdditions(),
             new NestBasedAccessDesugaringEventConsumer() {
 
               @Override
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingApiReferenceStubberEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingApiReferenceStubberEventConsumer.java
index 0b4dfde..e38d7db 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingApiReferenceStubberEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingApiReferenceStubberEventConsumer.java
@@ -14,11 +14,11 @@
 public class ArtProfileRewritingApiReferenceStubberEventConsumer
     implements ApiReferenceStubberEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions collectionAdditions;
+  private final ConcreteProfileCollectionAdditions collectionAdditions;
   private final ApiReferenceStubberEventConsumer parent;
 
   private ArtProfileRewritingApiReferenceStubberEventConsumer(
-      ConcreteArtProfileCollectionAdditions collectionAdditions,
+      ConcreteProfileCollectionAdditions collectionAdditions,
       ApiReferenceStubberEventConsumer parent) {
     this.collectionAdditions = collectionAdditions;
     this.parent = parent;
@@ -27,11 +27,11 @@
   public static ApiReferenceStubberEventConsumer attach(
       AppView<?> appView, ApiReferenceStubberEventConsumer eventConsumer) {
     if (appView.options().getArtProfileOptions().isIncludingApiReferenceStubs()) {
-      ArtProfileCollectionAdditions artProfileCollectionAdditions =
-          ArtProfileCollectionAdditions.create(appView);
-      if (!artProfileCollectionAdditions.isNop()) {
+      ProfileCollectionAdditions profileCollectionAdditions =
+          ProfileCollectionAdditions.create(appView);
+      if (!profileCollectionAdditions.isNop()) {
         return new ArtProfileRewritingApiReferenceStubberEventConsumer(
-            artProfileCollectionAdditions.asConcrete(), eventConsumer);
+            profileCollectionAdditions.asConcrete(), eventConsumer);
       }
     }
     return eventConsumer;
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer.java
index 1084d3a..85d10f6 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer.java
@@ -13,11 +13,11 @@
 public class ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer
     implements ArgumentPropagatorSyntheticEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final ArgumentPropagatorSyntheticEventConsumer parent;
 
   private ArtProfileRewritingArgumentPropagatorSyntheticEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       ArgumentPropagatorSyntheticEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
@@ -26,8 +26,7 @@
   public static ArgumentPropagatorSyntheticEventConsumer attach(
       AppView<AppInfoWithLiveness> appView,
       ArgumentPropagatorSyntheticEventConsumer eventConsumer) {
-    ArtProfileCollectionAdditions additionsCollection =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions additionsCollection = ProfileCollectionAdditions.create(appView);
     if (additionsCollection.isNop()) {
       return eventConsumer;
     }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer.java
index ebc4799..f4d7bf2 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer.java
@@ -18,12 +18,12 @@
 public class ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer
     extends CfClassSynthesizerDesugaringEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final ArtProfileOptions options;
   private final CfClassSynthesizerDesugaringEventConsumer parent;
 
   private ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       ArtProfileOptions options,
       CfClassSynthesizerDesugaringEventConsumer parent) {
     this.additionsCollection = additionsCollection;
@@ -33,18 +33,18 @@
 
   public static CfClassSynthesizerDesugaringEventConsumer attach(
       AppView<?> appView, CfClassSynthesizerDesugaringEventConsumer eventConsumer) {
-    return attach(appView, eventConsumer, ArtProfileCollectionAdditions.create(appView));
+    return attach(appView, eventConsumer, ProfileCollectionAdditions.create(appView));
   }
 
   public static CfClassSynthesizerDesugaringEventConsumer attach(
       AppView<?> appView,
       CfClassSynthesizerDesugaringEventConsumer eventConsumer,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions) {
-    if (artProfileCollectionAdditions.isNop()) {
+      ProfileCollectionAdditions profileCollectionAdditions) {
+    if (profileCollectionAdditions.isNop()) {
       return eventConsumer;
     }
     return new ArtProfileRewritingCfClassSynthesizerDesugaringEventConsumer(
-        artProfileCollectionAdditions.asConcrete(),
+        profileCollectionAdditions.asConcrete(),
         appView.options().getArtProfileOptions(),
         eventConsumer);
   }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfInstructionDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfInstructionDesugaringEventConsumer.java
index 3ac8a23..b4ee507 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfInstructionDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfInstructionDesugaringEventConsumer.java
@@ -26,14 +26,14 @@
     extends CfInstructionDesugaringEventConsumer {
 
   private final AppView<?> appView;
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final CfInstructionDesugaringEventConsumer parent;
 
   private final NestBasedAccessDesugaringEventConsumer nestBasedAccessDesugaringEventConsumer;
 
   private ArtProfileRewritingCfInstructionDesugaringEventConsumer(
       AppView<?> appView,
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       CfInstructionDesugaringEventConsumer parent) {
     this.appView = appView;
     this.additionsCollection = additionsCollection;
@@ -45,13 +45,13 @@
 
   public static CfInstructionDesugaringEventConsumer attach(
       AppView<?> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       CfInstructionDesugaringEventConsumer eventConsumer) {
-    if (artProfileCollectionAdditions.isNop()) {
+    if (profileCollectionAdditions.isNop()) {
       return eventConsumer;
     }
     return new ArtProfileRewritingCfInstructionDesugaringEventConsumer(
-        appView, artProfileCollectionAdditions.asConcrete(), eventConsumer);
+        appView, profileCollectionAdditions.asConcrete(), eventConsumer);
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.java
index 568efcc..d73b2ce 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCfPostProcessingDesugaringEventConsumer.java
@@ -26,12 +26,12 @@
 public class ArtProfileRewritingCfPostProcessingDesugaringEventConsumer
     extends CfPostProcessingDesugaringEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final ArtProfileOptions options;
   private final CfPostProcessingDesugaringEventConsumer parent;
 
   private ArtProfileRewritingCfPostProcessingDesugaringEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       ArtProfileOptions options,
       CfPostProcessingDesugaringEventConsumer parent) {
     this.additionsCollection = additionsCollection;
@@ -41,13 +41,13 @@
 
   public static CfPostProcessingDesugaringEventConsumer attach(
       AppView<?> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       CfPostProcessingDesugaringEventConsumer eventConsumer) {
-    if (artProfileCollectionAdditions.isNop()) {
+    if (profileCollectionAdditions.isNop()) {
       return eventConsumer;
     }
     return new ArtProfileRewritingCfPostProcessingDesugaringEventConsumer(
-        artProfileCollectionAdditions.asConcrete(),
+        profileCollectionAdditions.asConcrete(),
         appView.options().getArtProfileOptions(),
         eventConsumer);
   }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer.java
index 9722924..6b5b24d 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer.java
@@ -10,18 +10,18 @@
 public class ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer
     implements CovariantReturnTypeAnnotationTransformerEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final CovariantReturnTypeAnnotationTransformerEventConsumer parent;
 
   private ArtProfileRewritingCovariantReturnTypeAnnotationTransformerEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       CovariantReturnTypeAnnotationTransformerEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
   }
 
   public static CovariantReturnTypeAnnotationTransformerEventConsumer attach(
-      ArtProfileCollectionAdditions additionsCollection,
+      ProfileCollectionAdditions additionsCollection,
       CovariantReturnTypeAnnotationTransformerEventConsumer eventConsumer) {
     if (additionsCollection.isNop()) {
       return eventConsumer;
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMemberRebindingEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMemberRebindingEventConsumer.java
index df87170..68ca803 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMemberRebindingEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMemberRebindingEventConsumer.java
@@ -16,20 +16,18 @@
 public class ArtProfileRewritingMemberRebindingEventConsumer
     implements MemberRebindingEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final MemberRebindingEventConsumer parent;
 
   private ArtProfileRewritingMemberRebindingEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
-      MemberRebindingEventConsumer parent) {
+      ConcreteProfileCollectionAdditions additionsCollection, MemberRebindingEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
   }
 
   public static MemberRebindingEventConsumer attach(
       AppView<AppInfoWithLiveness> appView, MemberRebindingEventConsumer eventConsumer) {
-    ArtProfileCollectionAdditions additionsCollection =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions additionsCollection = ProfileCollectionAdditions.create(appView);
     if (additionsCollection.isNop()) {
       return eventConsumer;
     }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMethodProcessorEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMethodProcessorEventConsumer.java
index dea3841..9b881a9 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMethodProcessorEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingMethodProcessorEventConsumer.java
@@ -11,20 +11,18 @@
 
 public class ArtProfileRewritingMethodProcessorEventConsumer extends MethodProcessorEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final MethodProcessorEventConsumer parent;
 
   private ArtProfileRewritingMethodProcessorEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
-      MethodProcessorEventConsumer parent) {
+      ConcreteProfileCollectionAdditions additionsCollection, MethodProcessorEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
   }
 
   public static MethodProcessorEventConsumer attach(
       AppView<?> appView, MethodProcessorEventConsumer eventConsumer) {
-    ArtProfileCollectionAdditions additionsCollection =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions additionsCollection = ProfileCollectionAdditions.create(appView);
     if (additionsCollection.isNop()) {
       return eventConsumer;
     }
@@ -33,13 +31,13 @@
   }
 
   public static MethodProcessorEventConsumer attach(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       MethodProcessorEventConsumer eventConsumer) {
-    if (artProfileCollectionAdditions.isNop()) {
+    if (profileCollectionAdditions.isNop()) {
       return eventConsumer;
     }
     return new ArtProfileRewritingMethodProcessorEventConsumer(
-        artProfileCollectionAdditions.asConcrete(), eventConsumer);
+        profileCollectionAdditions.asConcrete(), eventConsumer);
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingNestBasedAccessDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingNestBasedAccessDesugaringEventConsumer.java
index 2988ce4..59346f70 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingNestBasedAccessDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingNestBasedAccessDesugaringEventConsumer.java
@@ -15,18 +15,18 @@
 public class ArtProfileRewritingNestBasedAccessDesugaringEventConsumer
     implements NestBasedAccessDesugaringEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final NestBasedAccessDesugaringEventConsumer parent;
 
   private ArtProfileRewritingNestBasedAccessDesugaringEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       NestBasedAccessDesugaringEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
   }
 
   public static NestBasedAccessDesugaringEventConsumer attach(
-      ArtProfileCollectionAdditions additionsCollection,
+      ProfileCollectionAdditions additionsCollection,
       NestBasedAccessDesugaringEventConsumer eventConsumer) {
     if (additionsCollection.isNop()) {
       return eventConsumer;
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingOutlineOptimizationEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingOutlineOptimizationEventConsumer.java
index 2184a87..e129422 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingOutlineOptimizationEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingOutlineOptimizationEventConsumer.java
@@ -13,11 +13,11 @@
 public class ArtProfileRewritingOutlineOptimizationEventConsumer
     implements OutlineOptimizationEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final OutlineOptimizationEventConsumer parent;
 
   private ArtProfileRewritingOutlineOptimizationEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       OutlineOptimizationEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
@@ -25,8 +25,7 @@
 
   public static OutlineOptimizationEventConsumer attach(
       AppView<AppInfoWithLiveness> appView, OutlineOptimizationEventConsumer eventConsumer) {
-    ArtProfileCollectionAdditions additionsCollection =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions additionsCollection = ProfileCollectionAdditions.create(appView);
     if (additionsCollection.isNop()) {
       return eventConsumer;
     }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingRootSetBuilderEventConsumer.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingRootSetBuilderEventConsumer.java
index 005c33c..9ccd78b 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingRootSetBuilderEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingRootSetBuilderEventConsumer.java
@@ -9,19 +9,17 @@
 
 public class ArtProfileRewritingRootSetBuilderEventConsumer implements RootSetBuilderEventConsumer {
 
-  private final ConcreteArtProfileCollectionAdditions additionsCollection;
+  private final ConcreteProfileCollectionAdditions additionsCollection;
   private final RootSetBuilderEventConsumer parent;
 
   private ArtProfileRewritingRootSetBuilderEventConsumer(
-      ConcreteArtProfileCollectionAdditions additionsCollection,
-      RootSetBuilderEventConsumer parent) {
+      ConcreteProfileCollectionAdditions additionsCollection, RootSetBuilderEventConsumer parent) {
     this.additionsCollection = additionsCollection;
     this.parent = parent;
   }
 
   public static RootSetBuilderEventConsumer attach(
-      ArtProfileCollectionAdditions additionsCollection,
-      RootSetBuilderEventConsumer eventConsumer) {
+      ProfileCollectionAdditions additionsCollection, RootSetBuilderEventConsumer eventConsumer) {
     if (additionsCollection.isNop()) {
       return eventConsumer;
     }
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingVarHandleDesugaringEventConsumerUtils.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingVarHandleDesugaringEventConsumerUtils.java
index f53e9bc..4d2e9b8 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingVarHandleDesugaringEventConsumerUtils.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileRewritingVarHandleDesugaringEventConsumerUtils.java
@@ -15,7 +15,7 @@
   static void handleVarHandleDesugaringClassContext(
       DexProgramClass varHandleClass,
       ProgramDefinition context,
-      ConcreteArtProfileCollectionAdditions additionsCollection,
+      ConcreteProfileCollectionAdditions additionsCollection,
       ArtProfileOptions options) {
     if (options.isIncludingVarHandleClasses()) {
       additionsCollection.applyIfContextIsInProfile(
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteArtProfileCollectionAdditions.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteProfileCollectionAdditions.java
similarity index 90%
rename from src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteArtProfileCollectionAdditions.java
rename to src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteProfileCollectionAdditions.java
index 0e6011d..83cb551 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteArtProfileCollectionAdditions.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ConcreteProfileCollectionAdditions.java
@@ -23,17 +23,17 @@
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-public class ConcreteArtProfileCollectionAdditions extends ArtProfileCollectionAdditions {
+public class ConcreteProfileCollectionAdditions extends ProfileCollectionAdditions {
 
   private final List<ArtProfileAdditions> additionsCollection;
 
   private boolean committed = false;
 
-  private ConcreteArtProfileCollectionAdditions(List<ArtProfileAdditions> additionsCollection) {
+  private ConcreteProfileCollectionAdditions(List<ArtProfileAdditions> additionsCollection) {
     this.additionsCollection = additionsCollection;
   }
 
-  ConcreteArtProfileCollectionAdditions(NonEmptyArtProfileCollection artProfileCollection) {
+  ConcreteProfileCollectionAdditions(NonEmptyArtProfileCollection artProfileCollection) {
     additionsCollection = new ArrayList<>();
     for (ArtProfile artProfile : artProfileCollection) {
       additionsCollection.add(new ArtProfileAdditions(artProfile));
@@ -112,7 +112,7 @@
   }
 
   @Override
-  public ConcreteArtProfileCollectionAdditions asConcrete() {
+  public ConcreteProfileCollectionAdditions asConcrete() {
     return this;
   }
 
@@ -139,18 +139,18 @@
   }
 
   @Override
-  public ConcreteArtProfileCollectionAdditions rewriteMethodReferences(
+  public ConcreteProfileCollectionAdditions rewriteMethodReferences(
       Function<DexMethod, DexMethod> methodFn) {
     List<ArtProfileAdditions> rewrittenAdditionsCollection =
         new ArrayList<>(additionsCollection.size());
     for (ArtProfileAdditions additions : additionsCollection) {
       rewrittenAdditionsCollection.add(additions.rewriteMethodReferences(methodFn));
     }
-    return new ConcreteArtProfileCollectionAdditions(rewrittenAdditionsCollection);
+    return new ConcreteProfileCollectionAdditions(rewrittenAdditionsCollection);
   }
 
   @Override
-  public ConcreteArtProfileCollectionAdditions setArtProfileCollection(
+  public ConcreteProfileCollectionAdditions setArtProfileCollection(
       ArtProfileCollection artProfileCollection) {
     assert artProfileCollection.isNonEmpty();
     Iterator<ArtProfile> artProfileIterator = artProfileCollection.asNonEmpty().iterator();
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/NopArtProfileCollectionAdditions.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/NopProfileCollectionAdditions.java
similarity index 76%
rename from src/main/java/com/android/tools/r8/profile/art/rewriting/NopArtProfileCollectionAdditions.java
rename to src/main/java/com/android/tools/r8/profile/art/rewriting/NopProfileCollectionAdditions.java
index 9d87d65..7cad8bf 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/NopArtProfileCollectionAdditions.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/NopProfileCollectionAdditions.java
@@ -12,14 +12,13 @@
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-public class NopArtProfileCollectionAdditions extends ArtProfileCollectionAdditions {
+public class NopProfileCollectionAdditions extends ProfileCollectionAdditions {
 
-  private static final NopArtProfileCollectionAdditions INSTANCE =
-      new NopArtProfileCollectionAdditions();
+  private static final NopProfileCollectionAdditions INSTANCE = new NopProfileCollectionAdditions();
 
-  private NopArtProfileCollectionAdditions() {}
+  private NopProfileCollectionAdditions() {}
 
-  public static NopArtProfileCollectionAdditions getInstance() {
+  public static NopProfileCollectionAdditions getInstance() {
     return INSTANCE;
   }
 
@@ -45,14 +44,14 @@
   }
 
   @Override
-  public NopArtProfileCollectionAdditions rewriteMethodReferences(
+  public NopProfileCollectionAdditions rewriteMethodReferences(
       Function<DexMethod, DexMethod> methodFn) {
     // Intentionally empty.
     return this;
   }
 
   @Override
-  public NopArtProfileCollectionAdditions setArtProfileCollection(
+  public NopProfileCollectionAdditions setArtProfileCollection(
       ArtProfileCollection artProfileCollection) {
     // Intentionally empty.
     return this;
diff --git a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileCollectionAdditions.java b/src/main/java/com/android/tools/r8/profile/art/rewriting/ProfileCollectionAdditions.java
similarity index 61%
rename from src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileCollectionAdditions.java
rename to src/main/java/com/android/tools/r8/profile/art/rewriting/ProfileCollectionAdditions.java
index 11df596..31af956 100644
--- a/src/main/java/com/android/tools/r8/profile/art/rewriting/ArtProfileCollectionAdditions.java
+++ b/src/main/java/com/android/tools/r8/profile/art/rewriting/ProfileCollectionAdditions.java
@@ -13,26 +13,27 @@
 import java.util.function.Function;
 
 /**
- * Interface for adding (synthetic) items to an existing ArtProfileCollection.
+ * Interface for adding (synthetic) items to existing instances of {@link
+ * com.android.tools.r8.profile.AbstractProfile}.
  *
- * <p>The interface will be implemented by {@link NopArtProfileCollectionAdditions} when the
+ * <p>The interface will be implemented by {@link NopProfileCollectionAdditions} when the
  * compilation does not contain any ART profiles, for minimal performance overhead.
  *
- * <p>When one or more ART profiles are present, this is implemented by {@link
- * ConcreteArtProfileCollectionAdditions}.
+ * <p>When one or more ART profiles are present, or a startup profile is, then this class is
+ * implemented by {@link ConcreteProfileCollectionAdditions}.
  */
-public abstract class ArtProfileCollectionAdditions {
+public abstract class ProfileCollectionAdditions {
 
-  public static ArtProfileCollectionAdditions create(AppView<?> appView) {
+  public static ProfileCollectionAdditions create(AppView<?> appView) {
     ArtProfileCollection artProfileCollection = appView.getArtProfileCollection();
     if (artProfileCollection.isNonEmpty()) {
-      return new ConcreteArtProfileCollectionAdditions(artProfileCollection.asNonEmpty());
+      return new ConcreteProfileCollectionAdditions(artProfileCollection.asNonEmpty());
     }
     return nop();
   }
 
-  public static NopArtProfileCollectionAdditions nop() {
-    return NopArtProfileCollectionAdditions.getInstance();
+  public static NopProfileCollectionAdditions nop() {
+    return NopProfileCollectionAdditions.getInstance();
   }
 
   public abstract void addMethodIfContextIsInProfile(ProgramMethod method, ProgramMethod context);
@@ -46,14 +47,14 @@
     return false;
   }
 
-  public ConcreteArtProfileCollectionAdditions asConcrete() {
+  public ConcreteProfileCollectionAdditions asConcrete() {
     return null;
   }
 
-  public abstract ArtProfileCollectionAdditions rewriteMethodReferences(
+  public abstract ProfileCollectionAdditions rewriteMethodReferences(
       Function<DexMethod, DexMethod> methodFn);
 
-  public abstract ArtProfileCollectionAdditions setArtProfileCollection(
+  public abstract ProfileCollectionAdditions setArtProfileCollection(
       ArtProfileCollection artProfileCollection);
 
   public abstract boolean verifyIsCommitted();
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index 6ef9e7b..f45bf9b 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -122,7 +122,7 @@
 import com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult;
 import com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult;
 import com.android.tools.r8.position.Position;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.AnnotationMatchResult.MatchedAnnotation;
 import com.android.tools.r8.shaking.DelayedRootSetActionItem.InterfaceMethodSyntheticBridgeAction;
 import com.android.tools.r8.shaking.EnqueuerEvent.ClassEnqueuerEvent;
@@ -465,11 +465,11 @@
 
   private final Thread mainThreadForTesting = Thread.currentThread();
 
-  private final ArtProfileCollectionAdditions artProfileCollectionAdditions;
+  private final ProfileCollectionAdditions profileCollectionAdditions;
 
   Enqueuer(
       AppView<? extends AppInfoWithClassHierarchy> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       ExecutorService executorService,
       SubtypingInfo subtypingInfo,
       GraphConsumer keptGraphConsumer,
@@ -478,7 +478,7 @@
     InternalOptions options = appView.options();
     this.appInfo = appView.appInfo();
     this.appView = appView.withClassHierarchy();
-    this.artProfileCollectionAdditions = artProfileCollectionAdditions;
+    this.profileCollectionAdditions = profileCollectionAdditions;
     this.deferredTracing = EnqueuerDeferredTracing.create(appView, this, mode);
     this.executorService = executorService;
     this.subtypingInfo = subtypingInfo;
@@ -528,8 +528,8 @@
     return appView.appInfo();
   }
 
-  public ArtProfileCollectionAdditions getArtProfileCollectionAdditions() {
-    return artProfileCollectionAdditions;
+  public ProfileCollectionAdditions getProfileCollectionAdditions() {
+    return profileCollectionAdditions;
   }
 
   public Mode getMode() {
@@ -3628,7 +3628,7 @@
     }
     timing.begin("Create result");
     EnqueuerResult result = createEnqueuerResult(appInfo, timing);
-    artProfileCollectionAdditions.commit(appView);
+    profileCollectionAdditions.commit(appView);
     timing.end();
     return result;
   }
@@ -4024,7 +4024,7 @@
     CfInstructionDesugaringEventConsumer eventConsumer =
         CfInstructionDesugaringEventConsumer.createForR8(
             appView,
-            artProfileCollectionAdditions,
+            profileCollectionAdditions,
             lambdaCallback,
             this::recordConstantDynamicSynthesizingContext,
             this::recordTwrCloseResourceMethodSynthesizingContext,
@@ -4100,7 +4100,7 @@
       DexProgramClass holder = bridge.getHolder();
       DexEncodedMethod method = bridge.getDefinition();
       holder.addVirtualMethod(method);
-      artProfileCollectionAdditions.addMethodIfContextIsInProfile(bridge, action.getSingleTarget());
+      profileCollectionAdditions.addMethodIfContextIsInProfile(bridge, action.getSingleTarget());
     }
     syntheticInterfaceMethodBridges.clear();
   }
@@ -4489,7 +4489,7 @@
         CfPostProcessingDesugaringEventConsumer.createForR8(
             appView,
             syntheticAdditions,
-            artProfileCollectionAdditions,
+            profileCollectionAdditions,
             desugaring,
             (context, missing) ->
                 missingClassesBuilder.addNewMissingClassWithDesugarDiagnostic(
diff --git a/src/main/java/com/android/tools/r8/shaking/EnqueuerFactory.java b/src/main/java/com/android/tools/r8/shaking/EnqueuerFactory.java
index e1d0124..e09b9be 100644
--- a/src/main/java/com/android/tools/r8/shaking/EnqueuerFactory.java
+++ b/src/main/java/com/android/tools/r8/shaking/EnqueuerFactory.java
@@ -9,7 +9,7 @@
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.graph.SubtypingInfo;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.Enqueuer.Mode;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
@@ -18,12 +18,12 @@
 
   public static Enqueuer createForInitialTreeShaking(
       AppView<? extends AppInfoWithClassHierarchy> appView,
-      ArtProfileCollectionAdditions artProfileCollectionAdditions,
+      ProfileCollectionAdditions profileCollectionAdditions,
       ExecutorService executorService,
       SubtypingInfo subtypingInfo) {
     return new Enqueuer(
         appView,
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         executorService,
         subtypingInfo,
         null,
@@ -36,12 +36,12 @@
       SubtypingInfo subtypingInfo,
       GraphConsumer keptGraphConsumer,
       Set<DexType> initialPrunedTypes) {
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     Enqueuer enqueuer =
         new Enqueuer(
             appView,
-            artProfileCollectionAdditions,
+            profileCollectionAdditions,
             executorService,
             subtypingInfo,
             keptGraphConsumer,
@@ -56,11 +56,11 @@
       AppView<? extends AppInfoWithClassHierarchy> appView,
       ExecutorService executorService,
       SubtypingInfo subtypingInfo) {
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     return new Enqueuer(
         appView,
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         executorService,
         subtypingInfo,
         null,
@@ -72,11 +72,11 @@
       ExecutorService executorService,
       SubtypingInfo subtypingInfo,
       GraphConsumer keptGraphConsumer) {
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     return new Enqueuer(
         appView,
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         executorService,
         subtypingInfo,
         keptGraphConsumer,
@@ -88,11 +88,11 @@
       ExecutorService executorService,
       SubtypingInfo subtypingInfo,
       GraphConsumer keptGraphConsumer) {
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     return new Enqueuer(
         appView,
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         executorService,
         subtypingInfo,
         keptGraphConsumer,
@@ -104,11 +104,11 @@
       ExecutorService executorService,
       SubtypingInfo subtypingInfo,
       GraphConsumer keptGraphConsumer) {
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
     return new Enqueuer(
         appView,
-        artProfileCollectionAdditions,
+        profileCollectionAdditions,
         executorService,
         subtypingInfo,
         keptGraphConsumer,
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetBuilderEventConsumer.java b/src/main/java/com/android/tools/r8/shaking/RootSetBuilderEventConsumer.java
index 9378b76..4f6967c 100644
--- a/src/main/java/com/android/tools/r8/shaking/RootSetBuilderEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/shaking/RootSetBuilderEventConsumer.java
@@ -6,15 +6,14 @@
 
 import com.android.tools.r8.graph.ProgramMethod;
 import com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileRewritingRootSetBuilderEventConsumer;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 
 public interface RootSetBuilderEventConsumer extends InterfaceMethodDesugaringBaseEventConsumer {
 
-  static RootSetBuilderEventConsumer create(
-      ArtProfileCollectionAdditions artProfileCollectionAdditions) {
+  static RootSetBuilderEventConsumer create(ProfileCollectionAdditions profileCollectionAdditions) {
     return ArtProfileRewritingRootSetBuilderEventConsumer.attach(
-        artProfileCollectionAdditions, empty());
+        profileCollectionAdditions, empty());
   }
 
   static EmptyRootSetBuilderEventConsumer empty() {
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java b/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
index 352facd..bbb8726 100644
--- a/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
+++ b/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
@@ -52,7 +52,7 @@
 import com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper;
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple;
 import com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.repackaging.RepackagingUtils;
 import com.android.tools.r8.shaking.AnnotationMatchResult.AnnotationsIgnoredMatchResult;
 import com.android.tools.r8.shaking.AnnotationMatchResult.ConcreteAnnotationMatchResult;
@@ -176,7 +176,7 @@
         SubtypingInfo subtypingInfo) {
       this(
           appView,
-          RootSetBuilderEventConsumer.create(enqueuer.getArtProfileCollectionAdditions()),
+          RootSetBuilderEventConsumer.create(enqueuer.getProfileCollectionAdditions()),
           subtypingInfo,
           null);
     }
@@ -2151,12 +2151,12 @@
 
     public static RootSetBuilder builder(
         AppView<? extends AppInfoWithClassHierarchy> appView,
-        ArtProfileCollectionAdditions artProfileCollectionAdditions,
+        ProfileCollectionAdditions profileCollectionAdditions,
         SubtypingInfo subtypingInfo,
         Iterable<? extends ProguardConfigurationRule> rules) {
       return new RootSetBuilder(
           appView,
-          RootSetBuilderEventConsumer.create(artProfileCollectionAdditions),
+          RootSetBuilderEventConsumer.create(profileCollectionAdditions),
           subtypingInfo,
           rules);
     }
@@ -2172,7 +2172,7 @@
         SubtypingInfo subtypingInfo) {
       super(
           appView,
-          RootSetBuilderEventConsumer.create(enqueuer.getArtProfileCollectionAdditions()),
+          RootSetBuilderEventConsumer.create(enqueuer.getProfileCollectionAdditions()),
           subtypingInfo,
           null);
       this.enqueuer = enqueuer;
@@ -2220,12 +2220,12 @@
 
     private MainDexRootSetBuilder(
         AppView<? extends AppInfoWithClassHierarchy> appView,
-        ArtProfileCollectionAdditions artProfileCollectionAdditions,
+        ProfileCollectionAdditions profileCollectionAdditions,
         SubtypingInfo subtypingInfo,
         Iterable<? extends ProguardConfigurationRule> rules) {
       super(
           appView,
-          RootSetBuilderEventConsumer.create(artProfileCollectionAdditions),
+          RootSetBuilderEventConsumer.create(profileCollectionAdditions),
           subtypingInfo,
           rules);
     }
@@ -2279,11 +2279,10 @@
 
     public static MainDexRootSetBuilder builder(
         AppView<? extends AppInfoWithClassHierarchy> appView,
-        ArtProfileCollectionAdditions artProfileCollectionAdditions,
+        ProfileCollectionAdditions profileCollectionAdditions,
         SubtypingInfo subtypingInfo,
         Iterable<? extends ProguardConfigurationRule> rules) {
-      return new MainDexRootSetBuilder(
-          appView, artProfileCollectionAdditions, subtypingInfo, rules);
+      return new MainDexRootSetBuilder(appView, profileCollectionAdditions, subtypingInfo, rules);
     }
 
     @Override
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
index 488b3c3..c0e541b 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -73,7 +73,7 @@
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple;
 import com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode;
 import com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.CollectionUtils;
 import com.android.tools.r8.utils.FieldSignatureEquivalence;
@@ -627,16 +627,16 @@
     assert verifyGraphLens(lens);
 
     // Include bridges in art profiles.
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.create(appView);
-    if (!artProfileCollectionAdditions.isNop()) {
+    ProfileCollectionAdditions profileCollectionAdditions =
+        ProfileCollectionAdditions.create(appView);
+    if (!profileCollectionAdditions.isNop()) {
       for (SynthesizedBridgeCode synthesizedBridge : synthesizedBridges) {
-        artProfileCollectionAdditions.applyIfContextIsInProfile(
+        profileCollectionAdditions.applyIfContextIsInProfile(
             synthesizedBridge.originalMethod,
             additionsBuilder -> additionsBuilder.addRule(synthesizedBridge.method));
       }
     }
-    artProfileCollectionAdditions.commit(appView);
+    profileCollectionAdditions.commit(appView);
 
     // Rewrite collections using the lens.
     appView.rewriteWithLens(lens);
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 23e5449..45322ff 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -45,7 +45,7 @@
 import com.android.tools.r8.jasmin.JasminBuilder;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.origin.PathOrigin;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.references.ClassReference;
 import com.android.tools.r8.references.FieldReference;
 import com.android.tools.r8.references.MethodReference;
@@ -845,20 +845,19 @@
         computeAppViewWithClassHierarchy(app, keepConfig, optionsConsumer);
     // Run the tree shaker to compute an instance of AppInfoWithLiveness.
     ExecutorService executor = Executors.newSingleThreadExecutor();
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.nop();
+    ProfileCollectionAdditions profileCollectionAdditions = ProfileCollectionAdditions.nop();
     SubtypingInfo subtypingInfo = SubtypingInfo.create(appView);
     RootSet rootSet =
         RootSet.builder(
                 appView,
-                artProfileCollectionAdditions,
+                profileCollectionAdditions,
                 subtypingInfo,
                 appView.options().getProguardConfiguration().getRules())
             .build(executor);
     appView.setRootSet(rootSet);
     EnqueuerResult enqueuerResult =
         EnqueuerFactory.createForInitialTreeShaking(
-                appView, artProfileCollectionAdditions, executor, subtypingInfo)
+                appView, profileCollectionAdditions, executor, subtypingInfo)
             .traceApplication(rootSet, executor, Timing.empty());
     executor.shutdown();
     // We do not run the tree pruner to ensure that the hierarchy is as designed and not modified
diff --git a/src/test/java/com/android/tools/r8/ir/InlineTest.java b/src/test/java/com/android/tools/r8/ir/InlineTest.java
index 037bb82..bd6303e 100644
--- a/src/test/java/com/android/tools/r8/ir/InlineTest.java
+++ b/src/test/java/com/android/tools/r8/ir/InlineTest.java
@@ -23,7 +23,7 @@
 import com.android.tools.r8.ir.code.Instruction;
 import com.android.tools.r8.ir.code.InstructionListIterator;
 import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
+import com.android.tools.r8.profile.art.rewriting.ProfileCollectionAdditions;
 import com.android.tools.r8.shaking.Enqueuer;
 import com.android.tools.r8.shaking.EnqueuerFactory;
 import com.android.tools.r8.shaking.EnqueuerResult;
@@ -74,21 +74,20 @@
       throws ExecutionException {
     AppView<AppInfoWithClassHierarchy> appView = AppView.createForR8(application.asDirect());
     appView.setAppServices(AppServices.builder(appView).build());
-    ArtProfileCollectionAdditions artProfileCollectionAdditions =
-        ArtProfileCollectionAdditions.nop();
+    ProfileCollectionAdditions profileCollectionAdditions = ProfileCollectionAdditions.nop();
     ExecutorService executorService = ThreadUtils.getExecutorService(options);
     SubtypingInfo subtypingInfo = SubtypingInfo.create(appView);
     appView.setRootSet(
         RootSet.builder(
                 appView,
-                artProfileCollectionAdditions,
+                profileCollectionAdditions,
                 subtypingInfo,
                 ImmutableList.of(ProguardKeepRule.defaultKeepAllRule(unused -> {})))
             .build(executorService));
     Timing timing = Timing.empty();
     Enqueuer enqueuer =
         EnqueuerFactory.createForInitialTreeShaking(
-            appView, artProfileCollectionAdditions, executorService, subtypingInfo);
+            appView, profileCollectionAdditions, executorService, subtypingInfo);
     EnqueuerResult enqueuerResult =
         enqueuer.traceApplication(appView.rootSet(), executorService, timing);
     appView.setAppInfo(enqueuerResult.getAppInfo());