summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex
AgeCommit message (Collapse)Author
2017-03-06Encode inline caches with missing types in the profileCalin Juravle
Not all runtime types can be encoded in the profile. For example if the receiver type is in a dex file which is not tracked for profiling its type cannot be encoded. Previously we would just skip over these types but that can lead to encode a polymorphic inline cache when in fact it should be megamorphic. With this CL, inline caches for which types are missing are marked in the profile with a special bit, kIsMissingTypesEncoding. Also, extend profman to understand text lines which specify an inline cache with missing types. Test: test-art-host Bug: 35927981 Bug: 32434870 Change-Id: I34528a39c227f3133771fd4454701c1ddc234f40
2017-03-03Extend profman to generate profiles with inline cachesCalin Juravle
Extend profman logic to generate profiles based on a simple textual respresentation. This will help writing tests for profile guided compilation. Before this CL, profman was able to generate profiles based on a list of classes like: java.lang.Comparable java.lang.Math java.lang.Object This CL, enables profman to understand methods and classes alike. The new format is: # Classes Ljava/lang/Comparable; Ljava/lang/Math; # Methods with inline caches LTestInline;->inlinePolymorhic(LSuper;)I+LSubA;,LSubB;,LSubC; LTestInline;->noInlineCache(LSuper;)I "LTestInline;->inlinePolymorhic(LSuper;)I+LSubA;,LSubB;,LSubC;" means that method `int inlineMonomorphicSubA(Super)` from class Main will be added to the profile with the inline cache (SubA,SubB) for its one and only invoke virtual. @Main#noInlineCache:(LSuper;)I+; meaning that method `int noInlineCache' from class Main will be added to the profile with no inline cache. Note that the methods are allowed to have a single invoke virtual in their dex bytecode. That is to keep the parsing the file format simple and easy to use. Also, add a few more tests for profiles and fix an issue caused by writing the dex files in a possibly wrong order. Test: m run-test-host-gtest-profile_assistant_test Bug: 32434870 Change-Id: I6b7340cf613007117d9818be206ccb3a27b815bf
2016-01-19Improve profile processingCalin Juravle
- allow file descriptors in addition to file names for profiles - fix some minor issues (wrong comparison signs, unhandled errors) - added gtests for profile_compilation_info, profile_assistant and compiler_driver Bug: 26080105 Change-Id: I136039fa1f25858399000049e48b01eafae54eb1