diff options
| author | 2022-09-26 11:01:43 +0100 | |
|---|---|---|
| committer | 2023-09-25 10:51:21 +0000 | |
| commit | 1f45e6fab1cb64639eb00c53cc7ab68d76cb6bde (patch) | |
| tree | 103acfc63c85831bfc0a0670bc95db04eb784f29 /compiler/optimizing/stack_map_test.cc | |
| parent | 6c864435021a44110c39b93ca48fa960e382e4c0 (diff) | |
profman: Return whether the profile matched instead of updated.
This change fixes the bug that ART Services doesn't accept a profile in
a DM file. Before this change, if the reference profile doesn't exist
but a DM file exists, when compiling the app, ART services will
unexpected fall back to "verify".
When ART Services uses a profile in a DM file, it runs profman with
`--copy-and-update-profile-key` on that file and checks the return code.
The intention is to check whether the profile is usable for the APK.
Therefore, the return code should indicate whether the profile matches
the APK, rather than whether the profile has been updated or not. An
update only happens if the dex checksum matches while the dex location
doesn't match. If both the dex checksum and the dex location match,
there will be no update, but profman should still return a code
indicating that this is a happy case.
Bug: 248609414
Test: atest ArtGtestsTargetChroot:ProfileCompilationInfoTest
Test: manual -
1. Install YouTube with a DM file.
2. Delete odex file and reference profile.
3. adb shell pm art optimize-package -m speed-profile \
com.google.android.youtube
4. See the compilation successful with the profile in the DM file.
Change-Id: I36e6e031ec302ae8d8012534d2d55ce126248859
Merged-In: I18e41bc962083e78e441fd18ab659037ad61badd
(partially cherry picked from commit 7c3153ea5b1745c5c1e0fc281971943c2d46f55d)
Diffstat (limited to 'compiler/optimizing/stack_map_test.cc')
0 files changed, 0 insertions, 0 deletions