Enable force-inlining annotations for retrace in release mode
Change-Id: I993f2503c19e117ed0f2cb06d20e6d17c540bf31
diff --git a/src/test/java/com/android/tools/r8/naming/retrace/InliningRetraceTest.java b/src/test/java/com/android/tools/r8/naming/retrace/InliningRetraceTest.java
index 48fc320..5562395 100644
--- a/src/test/java/com/android/tools/r8/naming/retrace/InliningRetraceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/retrace/InliningRetraceTest.java
@@ -13,8 +13,10 @@
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.ForceInline;
+import com.android.tools.r8.R8TestBuilder;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.utils.BooleanUtils;
+import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import org.junit.Test;
@@ -77,6 +79,18 @@
assertEquals(expectedActualStackTraceHeight(), actualStackTrace.size());
});
}
+
+ @Override
+ public void configure(R8TestBuilder<?> builder) {
+ builder.applyIf(mode == CompilationMode.RELEASE, R8TestBuilder::enableForceInliningAnnotations);
+ }
+
+ @Override
+ public void inspect(CodeInspector inspector) {
+ if (mode == CompilationMode.RELEASE) {
+ assertEquals(compat ? 2 : 1, inspector.clazz(Main.class).allMethods().size());
+ }
+ }
}
class Main {
diff --git a/src/test/java/com/android/tools/r8/naming/retrace/RetraceTestBase.java b/src/test/java/com/android/tools/r8/naming/retrace/RetraceTestBase.java
index adc5cb8..b4b90a4 100644
--- a/src/test/java/com/android/tools/r8/naming/retrace/RetraceTestBase.java
+++ b/src/test/java/com/android/tools/r8/naming/retrace/RetraceTestBase.java
@@ -9,6 +9,8 @@
import com.android.tools.r8.R8TestRunResult;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestRuntime.CfRuntime;
+import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import java.util.List;
@@ -28,7 +30,9 @@
public StackTrace expectedStackTrace;
- public void configure(R8TestBuilder builder) {}
+ public void configure(R8TestBuilder<?> builder) {}
+
+ public void inspect(CodeInspector inspector) {}
public Collection<Class<?>> getClasses() {
return ImmutableList.of(getMainClass());
@@ -42,7 +46,7 @@
expectedStackTrace =
testForJvm()
.addTestClasspath()
- .run(getMainClass())
+ .run(CfRuntime.getSystemRuntime(), getMainClass())
.assertFailure()
.map(StackTrace::extractFromJvm);
}
@@ -53,12 +57,13 @@
R8TestRunResult result =
(compat ? testForR8Compat(parameters.getBackend()) : testForR8(parameters.getBackend()))
.setMode(mode)
- .enableProguardTestOptions()
.addProgramClasses(getClasses())
.addKeepMainRule(getMainClass())
.addKeepRules(keepRules)
.apply(this::configure)
.setMinApi(parameters.getApiLevel())
+ .compile()
+ .inspect(this::inspect)
.run(parameters.getRuntime(), getMainClass())
.assertFailure();