| commit | ca82e34ab73b8092f66cfa0242a0b5a033efd8d2 | [log] [tgz] |
|---|---|---|
| author | Ian Zerny <zerny@google.com> | Thu Oct 26 15:50:17 2023 +0200 |
| committer | Ian Zerny <zerny@google.com> | Tue Oct 31 07:48:21 2023 +0000 |
| tree | 82a689140d9339a962fef83d296782f6f408f0aa | |
| parent | 3fb99fb6bf9dcb9c43090906c3d77338c529d14f [diff] |
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();