blob: cc02c8ae36e6a94c2584b3a2f42f33d8f026f9f4 [file] [log] [blame]
Nicolas Geoffrayee7e78c2022-07-11 14:57:17 +01001#
2# Copyright (C) 2022 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# A list of methods that are found to be latency sensitive. We have this manual
18# due to current limitations of our boot image profiling, where knowing what
19# methods are latency sensitive is difficult. For example, this method is executed
20# in the system server, not on the UI thread of an app.
21HSPLandroid/graphics/Color;->luminance()F
Mark Fashehcafac862024-10-18 17:16:04 +000022
23# For now, compile all methods in MessageQueue to avoid performance cliffs for
24# flagged/evolving hot code paths. See: b/338098106
25HSPLandroid/os/MessageQueue;->*
Mark Fashehd4ce3c62024-11-21 17:31:06 +000026HSPLandroid/os/MessageQueue$FileDescriptorRecord;->*
27HSPLandroid/os/MessageQueue$IdleHandler;->*
28HSPLandroid/os/MessageQueue$MessageCompare;->*
29HSPLandroid/os/MessageQueue$MatchAllFutureMessages;->*
30HSPLandroid/os/MessageQueue$MatchAllMessages;->*
31HSPLandroid/os/MessageQueue$MatchBarrierToken;->*
32HSPLandroid/os/MessageQueue$MatchDeliverableMessages;->*
33HSPLandroid/os/MessageQueue$MatchHandler;->*
34HSPLandroid/os/MessageQueue$MatchHandlerAndObject;->*
35HSPLandroid/os/MessageQueue$MatchHandlerAndObjectEquals;->*
36HSPLandroid/os/MessageQueue$MatchHandlerRunnableAndObject;->*
37HSPLandroid/os/MessageQueue$MatchHandlerRunnableAndObjectEquals;->*
38HSPLandroid/os/MessageQueue$MatchHandlerWhatAndObject;->*
39HSPLandroid/os/MessageQueue$MatchHandlerWhatAndObjectEquals;->*
40HSPLandroid/os/MessageQueue$MessageCounts;->*
41HSPLandroid/os/MessageQueue$StackNode;->*
42HSPLandroid/os/MessageQueue$MessageNode;->*
43HSPLandroid/os/MessageQueue$OnFileDescriptorEventListener$Events;->*
44HSPLandroid/os/MessageQueue$OnFileDescriptorEventListener;->*
45HSPLandroid/os/MessageQueue$StackNodeType;->*
46HSPLandroid/os/MessageQueue$StateNode;->*
47HSPLandroid/os/MessageQueue$TimedParkStateNode;->*
Zimuzo Ezeozue8601e962025-02-10 13:47:08 +000048
49# For now, compile all methods in PerfettoTrace and PerfettoTrackEventExtra.
50# Similar to the existing Trace APIs, these new APIs can impact the performance
51# of many subsystems including MessageQueue. This also keeps benchmark
52# comparisons between both APIs fair.
Zimuzo Ezeozue8358a312024-11-30 03:37:05 +000053HSPLandroid/os/PerfettoTrace$Category;->*
54HSPLandroid/os/PerfettoTrace;->*
55HSPLandroid/os/PerfettoTrackEventExtra;->*
Zimuzo Ezeozue8601e962025-02-10 13:47:08 +000056HSPLandroid/os/PerfettoTrackEventExtra$Builder;->*
Zimuzo Ezeozue8358a312024-11-30 03:37:05 +000057HSPLandroid/os/PerfettoTrackEventExtra$ArgBool;->*
58HSPLandroid/os/PerfettoTrackEventExtra$ArgInt64;->*
59HSPLandroid/os/PerfettoTrackEventExtra$ArgDouble;->*
60HSPLandroid/os/PerfettoTrackEventExtra$ArgString;->*
61HSPLandroid/os/PerfettoTrackEventExtra$CounterInt64;->*
62HSPLandroid/os/PerfettoTrackEventExtra$CounterDouble;->*
63HSPLandroid/os/PerfettoTrackEventExtra$CounterTrack;->*
64HSPLandroid/os/PerfettoTrackEventExtra$NamedTrack;->*
65HSPLandroid/os/PerfettoTrackEventExtra$Flow;->*
66HSPLandroid/os/PerfettoTrackEventExtra$Proto;->*
67HSPLandroid/os/PerfettoTrackEventExtra$FieldInt64;->*
68HSPLandroid/os/PerfettoTrackEventExtra$FieldDouble;->*
69HSPLandroid/os/PerfettoTrackEventExtra$FieldString;->*
70HSPLandroid/os/PerfettoTrackEventExtra$FieldNested;->*
71HSPLandroid/os/PerfettoTrackEventExtra$Pool;->*
72HSPLandroid/os/PerfettoTrackEventExtra$RingBuffer;->*
Jared Duke23b4f532025-03-04 18:57:57 +000073
74# While the SystemFeaturesMetadata static cache isn't heavyweight, ensure it's
75# pre-initialized in the boot image to avoid redundant per-process overhead.
76# TODO(b/326623529): Consider removing this after the feature has fully ramped
77# and is captured with the boot image profiling pipeline.
78HSPLcom/android/internal/pm/SystemFeaturesMetadata;->*
79Lcom/android/internal/pm/SystemFeaturesMetadata;