# # Copyright (C) 2022 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # A list of methods that are found to be latency sensitive. We have this manual # due to current limitations of our boot image profiling, where knowing what # methods are latency sensitive is difficult. For example, this method is executed # in the system server, not on the UI thread of an app. HSPLandroid/graphics/Color;->luminance()F # For now, compile all methods in MessageQueue to avoid performance cliffs for # flagged/evolving hot code paths. See: b/338098106 HSPLandroid/os/MessageQueue;->* HSPLandroid/os/MessageQueue$FileDescriptorRecord;->* HSPLandroid/os/MessageQueue$IdleHandler;->* HSPLandroid/os/MessageQueue$MessageCompare;->* HSPLandroid/os/MessageQueue$MatchAllFutureMessages;->* HSPLandroid/os/MessageQueue$MatchAllMessages;->* HSPLandroid/os/MessageQueue$MatchBarrierToken;->* HSPLandroid/os/MessageQueue$MatchDeliverableMessages;->* HSPLandroid/os/MessageQueue$MatchHandler;->* HSPLandroid/os/MessageQueue$MatchHandlerAndObject;->* HSPLandroid/os/MessageQueue$MatchHandlerAndObjectEquals;->* HSPLandroid/os/MessageQueue$MatchHandlerRunnableAndObject;->* HSPLandroid/os/MessageQueue$MatchHandlerRunnableAndObjectEquals;->* HSPLandroid/os/MessageQueue$MatchHandlerWhatAndObject;->* HSPLandroid/os/MessageQueue$MatchHandlerWhatAndObjectEquals;->* HSPLandroid/os/MessageQueue$MessageCounts;->* HSPLandroid/os/MessageQueue$StackNode;->* HSPLandroid/os/MessageQueue$MessageNode;->* HSPLandroid/os/MessageQueue$OnFileDescriptorEventListener$Events;->* HSPLandroid/os/MessageQueue$OnFileDescriptorEventListener;->* HSPLandroid/os/MessageQueue$StackNodeType;->* HSPLandroid/os/MessageQueue$StateNode;->* HSPLandroid/os/MessageQueue$TimedParkStateNode;->* # For now, compile all methods in PerfettoTrace and PerfettoTrackEventExtra. # Similar to the existing Trace APIs, these new APIs can impact the performance # of many subsystems including MessageQueue. This also keeps benchmark # comparisons between both APIs fair. HSPLandroid/os/PerfettoTrace$Category;->* HSPLandroid/os/PerfettoTrace;->* HSPLandroid/os/PerfettoTrackEventExtra;->* HSPLandroid/os/PerfettoTrackEventExtra$Builder;->* HSPLandroid/os/PerfettoTrackEventExtra$ArgBool;->* HSPLandroid/os/PerfettoTrackEventExtra$ArgInt64;->* HSPLandroid/os/PerfettoTrackEventExtra$ArgDouble;->* HSPLandroid/os/PerfettoTrackEventExtra$ArgString;->* HSPLandroid/os/PerfettoTrackEventExtra$CounterInt64;->* HSPLandroid/os/PerfettoTrackEventExtra$CounterDouble;->* HSPLandroid/os/PerfettoTrackEventExtra$CounterTrack;->* HSPLandroid/os/PerfettoTrackEventExtra$NamedTrack;->* HSPLandroid/os/PerfettoTrackEventExtra$Flow;->* HSPLandroid/os/PerfettoTrackEventExtra$Proto;->* HSPLandroid/os/PerfettoTrackEventExtra$FieldInt64;->* HSPLandroid/os/PerfettoTrackEventExtra$FieldDouble;->* HSPLandroid/os/PerfettoTrackEventExtra$FieldString;->* HSPLandroid/os/PerfettoTrackEventExtra$FieldNested;->* HSPLandroid/os/PerfettoTrackEventExtra$Pool;->* HSPLandroid/os/PerfettoTrackEventExtra$RingBuffer;->* # While the SystemFeaturesMetadata static cache isn't heavyweight, ensure it's # pre-initialized in the boot image to avoid redundant per-process overhead. # TODO(b/326623529): Consider removing this after the feature has fully ramped # and is captured with the boot image profiling pipeline. HSPLcom/android/internal/pm/SystemFeaturesMetadata;->* Lcom/android/internal/pm/SystemFeaturesMetadata;