libunwindstack: Move DwarfOp callback table to rodata section
There are currently two copies of DwarfOp callback tables in data.rel.ro section, and that is 16KB of dirty memory per process on a 64-bit platform. To reduce memory usage, we introduce a layer of indirection so that all instances of DwarfOp can share a single callback table. We also get rid of the pointers for op names in the callback table so that the entire table can be placed in rodata section. Test result shows 1MB saving on cuttlefish, and 750KB saving on a Go device (32-bit ARM). Bug: 112073665 Test: Boot on cuttlefish and a Go device. Change-Id: Idf90a513f37534ab1ef30d5742a9d3ea779f3661
This commit is contained in:
parent
c87d1ed611
commit
cc8009ff04