summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matt Gilbride <mattgilbride@google.com> 2025-03-17 11:50:10 +0000
committer Matt Gilbride <mattgilbride@google.com> 2025-03-17 23:27:26 +0000
commit18a79c5a0f7da462e64162b0d9ba1ef99d8f1a5f (patch)
treec3dac1a88e6702eca6cdb930ca85f0738bc8fa1d
parent40ed1d02b50e276edec9381f16f52faf6a37d4e1 (diff)
Add `art-profile-extra` for manual profile entries
Creates a new file and corresponding genrule to combine it with the main `art-profile` for system services. `art-profile` is maintained by automated tooling, but we now have at least one case (`CtsDynamicInstrumentationManagerTest`) that relies on certain code in system server being AOT compiled. It is also considered generally useful to have a way to add entries manually, independent of automated tooling. `art-profile-extra` is created so we can maintain those manual entries. The `art-profile-combined` genrule concatenates `art-profile` and `art-profile-extra` into one file for use by ART to execute AOT compilation. The current entry `ActivityManagerService$LocalService->checkContentProviderAccess` is referenced by `CtsDynamicInstrumentationManagerTest`. Said method is redundant with `art-profile`, but putting it in `-extra` prevents said automated tooling fom potentially breaking a CTS test. Bug: 333751994 Test: TH Flag: EXEMPT no behavior change intended Change-Id: I1ef9739afc24765f760ba566b95064eca2ef74a4
-rw-r--r--services/Android.bp13
-rw-r--r--services/art-profile-extra1
2 files changed, 10 insertions, 4 deletions
diff --git a/services/Android.bp b/services/Android.bp
index efd35ce8f1a3..8657bfc79316 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -181,7 +181,7 @@ art_profile_java_defaults {
conditions_default: {
dex_preopt: {
app_image: true,
- profile: "art-profile",
+ profile: ":art-profile-combined",
},
},
},
@@ -391,9 +391,14 @@ platform_compat_config {
src: ":services",
}
-filegroup {
- name: "art-profile",
- srcs: ["art-profile"],
+genrule {
+ name: "art-profile-combined",
+ srcs: [
+ "art-profile",
+ "art-profile-extra",
+ ],
+ out: ["art-profile-combined"],
+ cmd: "cat $(location art-profile) $(location art-profile-extra) > $(location art-profile-combined)",
}
// API stub
diff --git a/services/art-profile-extra b/services/art-profile-extra
new file mode 100644
index 000000000000..54362411e5ea
--- /dev/null
+++ b/services/art-profile-extra
@@ -0,0 +1 @@
+HSPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;