summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex
AgeCommit message (Collapse)Author
2019-09-26Clean up profile AddMethod APIsCalin Juravle
Restructure the profile assistant test to use the same APIs as profile saver and clean up all the other usages for AddMethodIndex and AddMethod. Bug: 139884006 Test: m test-art-host Change-Id: Icf76d6aa05f0f9dcc589182196ca34a0298f2cb7
2019-02-27Revert^2 "Fix oatdump .data.bimg.rel.ro for intrinsics."Vladimir Marko
This reverts commit 44044b1522c7486ca8b308bf49b1f39b82626e6d. Failing test was disabled for SS/GSS/Debug GC. Test: Additional test in oatdump_app_test Test: m test-art-host-gtest Bug: 71526895 Bug: 126305867 Change-Id: I2cf598ef735ca87430cdb007e7331ad444edad43
2019-02-26Revert "Fix oatdump .data.bimg.rel.ro for intrinsics."Lokesh Gidra
This reverts commit 9a8dcea0e97e610c5b8589e0093dbb7766a08694. Reason for revert: Causing the oatdump_app_test gtest failure over several builds. Change-Id: I5b985fc701183415529f636cf2e39ed46031ff59
2019-02-22Fix oatdump .data.bimg.rel.ro for intrinsics.Vladimir Marko
The Integer.valueOf() intrinsic is using entries that point to the boot image live objects array data rather than a start of an Object. So, we need to check for such entries before we look at the type of the Object. Test: Additional test in oatdump_app_test Test: m test-art-host-gtest Bug: 71526895 Change-Id: I49ab3b416aa2b4912b9fd2043805e900ad76f0f2
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