Blacklisting inlining kotlin Intrinsics::throwNpe method.
Inlining of this method does not have any benefits and actually
accounts for code size growth.
Bug:
Change-Id: Ic26015f825ac826bfae3da7f1fa35b52f7c73751
diff --git a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
index 61881a8..b1a5781 100644
--- a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
@@ -349,6 +349,7 @@
public final DexType type = createType(createString("Lkotlin/jvm/internal/Intrinsics;"));
public final DexMethod throwParameterIsNullException =
createMethod(type, createProto(voidType, stringType), "throwParameterIsNullException");
+ public final DexMethod throwNpe = createMethod(type, createProto(voidType), "throwNpe");
}
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
index 4bb10d3..1dbc2de 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
@@ -64,6 +64,7 @@
private void fillInBlackList(AppInfoWithLiveness appInfo) {
blackList.add(appInfo.dexItemFactory.kotlin.intrinsics.throwParameterIsNullException);
+ blackList.add(appInfo.dexItemFactory.kotlin.intrinsics.throwNpe);
}
public boolean isBlackListed(DexMethod method) {