Don't mark methods processed in the tree pruner

Bug: b/307273642
Change-Id: I2d4660a815e7a134fca9b6a2af5ba46133e3d44e
diff --git a/src/main/java/com/android/tools/r8/shaking/TreePruner.java b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
index d813a668..62a06ae 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -380,6 +380,7 @@
         // an invalid invoke. They will not actually be called at runtime but we have to keep them
         // as non-abstract (see above) to produce the same failure mode.
         new ProgramMethod(clazz, method).convertToAbstractOrThrowNullMethod(appView);
+        method.markNotProcessed();
         reachableMethods.add(method);
       } else {
         unusedItemsPrinter.registerUnusedMethod(method);
diff --git a/src/main/java/com/android/tools/r8/utils/Timing.java b/src/main/java/com/android/tools/r8/utils/Timing.java
index 82de47e..a81f72e 100644
--- a/src/main/java/com/android/tools/r8/utils/Timing.java
+++ b/src/main/java/com/android/tools/r8/utils/Timing.java
@@ -480,7 +480,7 @@
   }
 
   public void report() {
-    assert stack.size() == 1;
+    assert stack.size() == 1 : "Unexpected non-singleton stack: " + stack;
     Node top = stack.peek();
     assert top == this.top;
     top.end();