Reenable inlining of invokes with nullable receivers
Bug: 137174854
Change-Id: Ie5a5dc23dece5700eef4e75b7b241532422dad2a
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index c7f8199..6c62f7f 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -180,10 +180,7 @@
public boolean enableInliningOfInvokesWithDefinitelyNullReceivers =
System.getProperty("com.android.tools.r8.disableInliningOfInvokesWithDefinitelyNullReceivers")
== null;
- // TODO(137174854) Disable until performance regression is investigated.
- public boolean enableInliningOfInvokesWithNullableReceivers =
- System.getProperty("com.android.tools.r8.enableInliningOfInvokesWithNullableReceivers")
- != null;
+ public boolean enableInliningOfInvokesWithNullableReceivers = true;
public boolean enableClassInlining = true;
public boolean enableClassStaticizer = true;
public boolean enableInitializedClassesAnalysis = true;
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestMethodInlinedTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestMethodInlinedTest.java
index f30945e..f861377 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestMethodInlinedTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestMethodInlinedTest.java
@@ -53,7 +53,6 @@
options.enableValuePropagation = false;
options.enableClassInlining = false;
options.enableVerticalClassMerging = false;
- options.enableInliningOfInvokesWithNullableReceivers = true;
})
.enableInliningAnnotations("nesthostexample")
.setMinApi(parameters.getApiLevel())
diff --git a/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java b/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
index 269befa..c6f89f3 100644
--- a/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
@@ -50,11 +50,6 @@
options -> {
options.enableInitializedClassesInInstanceMethodsAnalysis =
enableInitializedClassesInInstanceMethodsAnalysis;
-
- // TODO(b/137174854): No need to explicitly turn this on when it gets enabled by
- // default.
- assert !options.enableInliningOfInvokesWithNullableReceivers;
- options.enableInliningOfInvokesWithNullableReceivers = true;
})
.enableClassInliningAnnotations()
.enableInliningAnnotations()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineInvokeWithNullableReceiverTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineInvokeWithNullableReceiverTest.java
index fb65a23..c00b563 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineInvokeWithNullableReceiverTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineInvokeWithNullableReceiverTest.java
@@ -46,7 +46,6 @@
.addInnerClasses(InlineInvokeWithNullableReceiverTest.class)
.addKeepMainRule(TestClass.class)
.setMinApi(parameters.getRuntime())
- .addOptionsModification(o -> o.enableInliningOfInvokesWithNullableReceivers = true)
.compile()
.inspect(this::verifyMethodHasBeenInlined);
diff --git a/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java b/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
index 42ddc98..40cd981 100644
--- a/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
+++ b/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
@@ -149,7 +149,6 @@
.addProgramClasses(CLASSES)
.addLibraryFiles(ToolHelper.getDefaultAndroidJar())
.addKeepClassAndMembersRules(MAIN)
- .addOptionsModification(o -> o.enableInliningOfInvokesWithNullableReceivers = true)
.addKeepRules(RULES);
if (!enableClassMerging) {
builder.addOptionsModification(o -> o.enableVerticalClassMerging = false);