Fix atomic synthetic registration.

Change-Id: I9f1396cd7fdd9b0b89883d3f82d6f212684457f5
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 88b4132..ba97871 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -335,9 +335,7 @@
       if (options.enableEnumUnboxing) {
         EnumUnboxingCfMethods.registerSynthesizedCodeReferences(appView.dexItemFactory());
       }
-      if (options.enableAtomicFieldUpdaterOptimization) {
-        AtomicFieldUpdaterInstrumentor.registerSynthesizedCodeReferences(appView.dexItemFactory());
-      }
+      AtomicFieldUpdaterInstrumentor.registerSynthesizedCodeReferences(appView);
       if (options.desugarRecordState().isNotOff()) {
         RecordInstructionDesugaring.registerSynthesizedCodeReferences(appView.dexItemFactory());
       }
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/AtomicFieldUpdaterInstrumentor.java b/src/main/java/com/android/tools/r8/ir/optimize/AtomicFieldUpdaterInstrumentor.java
index 771dc4f..1faf0f8 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/AtomicFieldUpdaterInstrumentor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/AtomicFieldUpdaterInstrumentor.java
@@ -133,15 +133,18 @@
   public static void run(
       AppView<AppInfoWithLiveness> appView, ExecutorService service, Timing timing)
       throws ExecutionException {
-    var options = appView.options();
-    if (options.enableAtomicFieldUpdaterOptimization
-        && options.isGeneratingDex()
-        && appView.enableWholeProgramOptimizations()
-        && options.getMinApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.K)) {
+    if (isOptimizationEnabled(appView)) {
       new AtomicFieldUpdaterInstrumentor(appView, service).runInternal(timing);
     }
   }
 
+  private static boolean isOptimizationEnabled(AppView<?> appView) {
+    return appView.options().enableAtomicFieldUpdaterOptimization
+        && appView.options().isGeneratingDex()
+        && appView.enableWholeProgramOptimizations()
+        && appView.options().getMinApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.K);
+  }
+
   private AtomicFieldUpdaterInstrumentor(
       AppView<AppInfoWithLiveness> appView, ExecutorService service) {
     this.appView = appView;
@@ -707,8 +710,11 @@
     return newInstructions;
   }
 
-  public static void registerSynthesizedCodeReferences(DexItemFactory factory) {
-    AtomicFieldUpdaterOptimizationMethods.registerSynthesizedCodeReferences(factory);
+  public static void registerSynthesizedCodeReferences(AppView<?> appView) {
+    if (isOptimizationEnabled(appView)) {
+      AtomicFieldUpdaterOptimizationMethods.registerSynthesizedCodeReferences(
+          appView.dexItemFactory());
+    }
   }
 
   private static class UnsafeClassInfo {