Add system property flag for disabling deferred tracing

Bug: b/233630328
Change-Id: I7731f991566ecdfdd55eddaace18e302c92dbbec
diff --git a/src/main/java/com/android/tools/r8/shaking/EnqueuerDeferredTracing.java b/src/main/java/com/android/tools/r8/shaking/EnqueuerDeferredTracing.java
index 046931d..78abb50 100644
--- a/src/main/java/com/android/tools/r8/shaking/EnqueuerDeferredTracing.java
+++ b/src/main/java/com/android/tools/r8/shaking/EnqueuerDeferredTracing.java
@@ -25,7 +25,9 @@
       return empty();
     }
     InternalOptions options = appView.options();
-    if (!options.isOptimizing() || !options.isShrinking()) {
+    if (!options.isOptimizing()
+        || !options.isShrinking()
+        || !options.enableEnqueuerDeferredTracing) {
       return empty();
     }
     return new EnqueuerDeferredTracingImpl(appView, enqueuer, mode);
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index d89a607..f3b82e4d 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -611,6 +611,9 @@
   // public boolean lookupLibraryBeforeProgram =
   //     System.getProperty("com.android.tools.r8.lookupProgramBeforeLibrary") == null;
 
+  public boolean enableEnqueuerDeferredTracing =
+      System.getProperty("com.android.tools.r8.disableEnqueuerDeferredTracing") == null;
+
   public boolean loadAllClassDefinitions = false;
 
   // Whether or not to check for valid multi-dex builds.