From c08069b8055a0edd97a2af050c301323836416ba Mon Sep 17 00:00:00 2001 From: Kevin Jeon Date: Tue, 25 Jan 2022 22:04:30 +0000 Subject: [PATCH] Annotate dump methods with @NeverCompile [4/5] This change annotates dump/debug methods in services.odex that are larger than 10000 bytes with NeverCompile so that they will not be compiled. This results in an overall ~1% decrease in the size of services.odex. Bug: 215417388 Test: Build and check that these methods are not called during boot or app startup. Change-Id: I07a13fbd72c84229ac42c3779abc352ba3f8086c --- services/core/java/com/android/server/TelephonyRegistry.java | 3 +++ services/core/java/com/android/server/pm/DumpHelper.java | 3 +++ services/core/java/com/android/server/pm/Settings.java | 3 +++ 3 files changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index 811f2f5e5283d..9c8ed5a8edcba 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -103,6 +103,8 @@ import com.android.internal.util.FrameworkStatsLog; import com.android.internal.util.IndentingPrintWriter; import com.android.server.am.BatteryStatsService; +import dalvik.annotation.optimization.NeverCompile; + import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; @@ -2879,6 +2881,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { } } + @NeverCompile // Avoid size overhead of debugging code. @Override public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); diff --git a/services/core/java/com/android/server/pm/DumpHelper.java b/services/core/java/com/android/server/pm/DumpHelper.java index 55d1293c616a3..f0b5f6f48acae 100644 --- a/services/core/java/com/android/server/pm/DumpHelper.java +++ b/services/core/java/com/android/server/pm/DumpHelper.java @@ -37,6 +37,8 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.pm.verify.domain.proxy.DomainVerificationProxy; +import dalvik.annotation.optimization.NeverCompile; + import java.io.FileDescriptor; import java.io.PrintWriter; @@ -50,6 +52,7 @@ final class DumpHelper { mPm = pm; } + @NeverCompile // Avoid size overhead of debugging code. public void doDump(FileDescriptor fd, PrintWriter pw, String[] args) { DumpState dumpState = new DumpState(); ArraySet permissionNames = null; diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 7085682662e67..17305fa7d031d 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -134,6 +134,8 @@ import com.android.server.utils.WatchedSparseArray; import com.android.server.utils.WatchedSparseIntArray; import com.android.server.utils.Watcher; +import dalvik.annotation.optimization.NeverCompile; + import libcore.io.IoUtils; import org.xmlpull.v1.XmlPullParser; @@ -4472,6 +4474,7 @@ public final class Settings implements Watchable, Snappable { pw.decreaseIndent(); } + @NeverCompile // Avoid size overhead of debugging code. void dumpPackageLPr(PrintWriter pw, String prefix, String checkinTag, ArraySet permissionNames, PackageSetting ps, LegacyPermissionState permissionsState, SimpleDateFormat sdf, Date date,