Introduce EnvUsePosition for liveness analysis.
Normal and environment use positions are held in separate
lists and the code never mixes them together. By using two
separate classes, we can reduce complexity and avoid an
unnecesary data member, reducing the memory usage.
Tracking allocations for a certain big app, the peak arena
memory usage is
before:
MEM: used: 79245960, ...
SsaLiveness 31221600
after:
MEM: used: 78754024, ...
SsaLiveness 30729664
Test: testrunner.py --host
Bug: 34053922
Change-Id: I02d3c9f564bbe3b1da0e03c33cf7c0f810f235dc
5 files changed