diff --git a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
index 1aca973..ec12fa0 100644
--- a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
+++ b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
@@ -37,6 +37,7 @@
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
 import com.android.tools.r8.utils.IterableUtils;
 import com.android.tools.r8.utils.LazyBox;
+import com.android.tools.r8.utils.ThreadUtils;
 import com.android.tools.r8.utils.Timing;
 import com.android.tools.r8.utils.collections.ProgramMethodSet;
 import com.google.common.collect.Iterables;
@@ -63,12 +64,12 @@
     this.converter = converter;
   }
 
-  // TODO(b/302483644): Process wave concurrently.
   public Set<ComposableCallGraphNode> processWave(
       Set<ComposableCallGraphNode> wave, ExecutorService executorService)
       throws ExecutionException {
     ProcessorContext processorContext = appView.createProcessorContext();
-    wave.forEach(
+    ThreadUtils.processItems(
+        wave,
         node -> {
           assert !processed.contains(node);
           converter.processDesugaredMethod(
@@ -77,7 +78,9 @@
               this,
               processorContext.createMethodProcessingContext(node.getMethod()),
               MethodConversionOptions.forLirPhase(appView));
-        });
+        },
+        appView.options().getThreadingModule(),
+        executorService);
     processed.addAll(wave);
     return optimizeComposableFunctionsCalledFromWave(wave, executorService);
   }
