diff options
author | Calin Juravle <calin@google.com> | 2017-03-23 19:04:59 -0700 |
---|---|---|
committer | Calin Juravle <calin@google.com> | 2017-03-28 16:51:02 -0700 |
commit | cea9e9d26c32372ec8c75e6c89b1bfc08c5e1911 (patch) | |
tree | 5132e19736f2afdd2b10f3243297e667b2ab0a21 /compiler/optimizing/graph_visualizer.cc | |
parent | f8d00ff206e33ff66fcabcf75d6b5bbe30cddb98 (diff) |
Fix profile merges in profman
profman used ProfileCompilationInfo::Load() which was not preserving the
correct order of the dex files (in a multidex profile).
The CL fixes profman to use ProfileCompilationInfo::MergeWith which
guarantees the right dex order and redesigns profile storage to avoid
such mistakes in the future. Instead of keeping data in a map indexed by
the profile key, store it in a vector whose index match profile_index.
This way, any iteration over profile info becomes deterministic with
respect to the profile index of the dex files.
Test: m test-art-host-gtest-profile_assistant_test
m test-art-host-gtest-profile_compilation_info_test
profile YouTube.apk and compile it based on the reference profile
(failing before)
Bug: 36371709
Change-Id: Ideda1336e5aff59a7c5560429da645fe02c804c9
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions