summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.h
diff options
context:
space:
mode:
author Jared Duke <jdduke@google.com> 2022-06-10 11:18:59 -0700
committer Treehugger Robot <treehugger-gerrit@google.com> 2022-07-18 17:36:43 +0000
commit761f31ad14210efd49862551e34418afa9996fae (patch)
tree70cda7c3c852535d4e5dab96469ea2ff31ae7d0b /compiler/optimizing/graph_visualizer.h
parentfde2bb5e3968105c1fc9bcc8a9a32bc24bcc03a7 (diff)
Only madvise primary oat/vdex artifacts
Suppress madvise calls to non-primary vdex/oat files whenever possible. Note that this suppression relies on AppInfo registration happening relatively early in the app lifecycle, which is generally the case. Until the registration is made, we madvise these artifacts as is done with the current behavior. This should avoid cases during app startup where Dynamite-like dependencies (e.g., for GMS Core) currently trigger a full madvise of all dependent vdex/oat files, which is generally unnecessary and potentially wasteful for such cases. Note that this change moves the oat madvise call out of OatFile's constructor into OpenDexFilesFromOat. This makes it easier to reason about ordering relative to other madvise calls (for dex/vdex), but should be almost identical in terms of timing. A/B perf tests shows that this slightly improves app startup time across a suite of apps, with apps that don't load secondary APKs/dex files not being impacted at all. Bug: 235130726 Test: m + flash and verify GMS vdex/oat files not madvised by apps Change-Id: I41374d5ae9f91f39e399ac21615a821307c56b6e
Diffstat (limited to 'compiler/optimizing/graph_visualizer.h')
0 files changed, 0 insertions, 0 deletions