Commit 3e0c5170 authored by Mathieu Chartier's avatar Mathieu Chartier
Browse files

Add logic for calculating offsets during writing

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
parent cb90e3a2
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment