summaryrefslogtreecommitdiff
path: root/dexlayout/dex_ir_builder.h
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some compact dex commentsMathieu Chartier2018-01-291-2/+2
| | | | | | | Bug: 63756964 Test: test-art-host Change-Id: If8748db7a9e68b6a82656fd9ec8fd8072e92af97
* Add dexlayout class filteringMathieu Chartier2018-01-261-1/+6
| | | | | | | | | | | For fixed_up_dexfile, the returned dex only needs to contain a single class. This CL adds filtering during IR creation to only contain that class. This speeds up wifi tests from 25s to 15s on marlin. Bug: 63756964 Bug: 72064989 Test: mm test-art-host-gtest-dexlayout_test -j64 Change-Id: I3648ac886b377d95e33e5b40a63a34c2a9dbde58
* Add logic for calculating offsets during writingMathieu Chartier2017-11-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete all the offset related layout logic, move the logic to writing. Layout is now controlled by changing the order of the data vectors. Calculate all offsets during writing instead of reading. This allows more flexible layout optimizations without needing to be as careful about offsets in other sections changing. Maintained logic for using existing offsets in the case where changing the layout is not required. Areas to improve: How to size the memmap, do we want 2 passes? Currently the algorithm reserves 10% extra space in case required. This is sufficient for top 1000 apps in the play store. Will consider a two pass approach later. Bug: 63756964 Bug: 68948395 Bug: 68867570 Bug: 68864106 Bug: 68864168 Test: test/testrunner/testrunner.py --host -j40 Test: test-art-host-gtest Test: Dexlayout speed profile top 1000 apps Change-Id: I7dee869da3a010559547f8cfdf93e9aa4c3f47ff
* Separate DexIr building from constructors.David Sehr2016-09-061-0/+32
Move all the construction from DexFile out of the constructors of the basic IR. Bug: 29921113 Change-Id: I3f79c104ce7183ddde73f143c047061416009a54 Test: test-art-host-gtest