summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2021-03-31 15:50:39 +0100
committer Vladimir Marko <vmarko@google.com> 2021-05-17 13:42:11 +0000
commitc63d9672264e894d8d409e8d582b4e086b26abca (patch)
tree1e285cbab4c71aea3c8c37b4e4c5e8241a3ce117 /compiler/optimizing/graph_visualizer.h
parent0bf5b6729be507f1e78fc61f17554393dd978e46 (diff)
Rewrite profile file format.
The new format contains one mandatory section and several optional sections. This allows extending the profile with new sections that shall be ignored by old versions of ART. We add an "extra descriptors" section to support class references without a `dex::TypeId` in the referencing dex file. Type indexes between the dex file's `NumTypeIds()` and `DexFile::kDexNoIndex16` are used to index these extra descriptors. This prepares for collecting array classes which shall be tied to the element type's dex file even when the array type is not needed by that dex file and has been used only from another dex file. It also allows inline caches to be self-contained, so we can remove the profile index from data structures and serialized data. The creation of the the binary profile from text files is updated to correctly allow array types to be stored as the profiled classes using the "extra descriptors". However, the interface for filling in inline caches remains unchanged for now, so we require a `TypeId` in one of the processed dex files. The data collection by JIT has not been updated. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing --speed-profile Test: boots. Test: atest BootImageProfileTest Bug: 148067697 Change-Id: Idd5f709bdc0ab4a3c7480d69d1dfac72d6e818fc
Diffstat (limited to 'compiler/optimizing/graph_visualizer.h')
0 files changed, 0 insertions, 0 deletions