Minimal fix for issue with LiveEdit test
Change-Id: I8f03d8aa6e3d186acf99e35ec8ca7e540ef56c0d
Bug: b/399835968
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 ee0634a..9995d91 100644
--- a/src/main/java/com/android/tools/r8/utils/Timing.java
+++ b/src/main/java/com/android/tools/r8/utils/Timing.java
@@ -310,7 +310,11 @@
private Node slowest = new Node("<zero>", false);
private TimingMerger(String title, int numberOfThreads, Timing timing) {
- parent = timing.stack.peek();
+ Deque<Timing.Node> stack =
+ timing instanceof TimingDelegateBase
+ ? ((TimingDelegateBase) timing).timing.stack
+ : timing.stack;
+ parent = stack.peek();
merged =
new Node(title, timing.trackMemory) {
@Override
@@ -378,7 +382,11 @@
if (timing == empty()) {
continue;
}
- assert timing.stack.isEmpty() : "Expected sub-timing to have completed prior to merge";
+ Deque<Timing.Node> stack =
+ timing instanceof TimingDelegateBase
+ ? ((TimingDelegateBase) timing).timing.stack
+ : timing.stack;
+ assert stack.isEmpty() : "Expected sub-timing to have completed prior to merge";
++taskCount;
merged.duration += timing.top.duration;
if (slowest != null && timing.top.duration > slowest.duration) {