diff options
author | Vladimir Marko <vmarko@google.com> | 2018-07-26 14:42:17 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2018-08-02 15:47:02 +0100 |
commit | ced04835d8e3cd3f68576cfffc1d21283ca151b4 (patch) | |
tree | 125ddd1d222f4fb1710e17c76803ad3e92572a5c /compiler/optimizing/codegen_test_utils.h | |
parent | 350b6a312222b9b27bfee0e72ce261a45cb60e1c (diff) |
Reuse arena memory for each block in scheduler.
This reduces the peak memory used for large methods with
multiple blocks to schedule.
Compiling the aosp_taimen-userdebug boot image, the most
memory hungry method BatteryStats.dumpLocked has the
Scheduler memory allocations in ArenaStack hidden by the
register allocator:
- before:
MEM: used: 8300224, allocated: 9175040, lost: 197360
Scheduler 8300224
- after:
MEM: used: 5914296, allocated: 7864320, lost: 78200
SsaLiveness 5532840
RegAllocator 144968
RegAllocVldt 236488
The total arena memory used, including the ArenaAllocator
not listed above, goes from 44333648 to 41950324 (-5.4%).
(Measured with kArenaAllocatorCountAllocations=true,
kArenaAllocatorPreciseTracking=false.)
Also remove one unnecessary -Wframe-larger-than= workaround
and add one workaround for large frame with the above arena
alloc tracking flags.
Test: m test-art-host-gtest
Test: testrunner.py --host
Bug: 34053922
Change-Id: I7fd8d90dcc13b184b1e5bd0bcac072388710a129
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
0 files changed, 0 insertions, 0 deletions