Revert "Add try-with-resources scope method for timing."
This reverts commit d216cb99039366ed37906cc786f5c01d3da97442.
Reason for revert: Triggers assertion errors when the compiler is the input (b/148102986)
Change-Id: I20ea550619e2cd6b2f05f2913507b8aea173bebe
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 1e73572..58e68dc 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -88,7 +88,6 @@
import com.android.tools.r8.utils.StringDiagnostic;
import com.android.tools.r8.utils.ThreadUtils;
import com.android.tools.r8.utils.Timing;
-import com.android.tools.r8.utils.Timing.TimingScope;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.io.ByteStreams;
@@ -265,8 +264,9 @@
appView.setAppServices(AppServices.builder(appView).build());
List<ProguardConfigurationRule> synthesizedProguardRules = new ArrayList<>();
+ timing.begin("Strip unused code");
Set<DexType> classesToRetainInnerClassAttributeFor = null;
- try (TimingScope ignored = timing.scope("Strip unused code")) {
+ try {
Set<DexType> missingClasses = appView.appInfo().getMissingClasses();
missingClasses = filterMissingClasses(
missingClasses, options.getProguardConfiguration().getDontWarnPatterns());
@@ -360,6 +360,9 @@
new AnnotationRemover(appView.withLiveness(), classesToRetainInnerClassAttributeFor)
.ensureValid()
.run();
+
+ } finally {
+ timing.end();
}
assert appView.appInfo().hasLiveness();
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 5f7ef67..77df36a 100644
--- a/src/main/java/com/android/tools/r8/utils/Timing.java
+++ b/src/main/java/com/android/tools/r8/utils/Timing.java
@@ -57,8 +57,8 @@
}
@Override
- public TimingScope scope(String title) {
- return () -> {};
+ public void scope(String title, TimingScope fn) {
+ // Ignore.
}
};
@@ -336,14 +336,17 @@
top.report(0, top);
}
- public TimingScope scope(String title) {
+ public void scope(String title, TimingScope fn) {
begin(title);
- return this::end;
+ try {
+ fn.apply();
+ } finally {
+ end();
+ }
}
- public interface TimingScope extends AutoCloseable {
- @Override
- void close();
+ public interface TimingScope {
+ void apply();
}
private static Map<String, MemInfo> computeMemoryInformation() {