[DynInst_API:] RFC: interface change to SymtabAPI Aggregates


Date: Tue, 13 Jan 2015 15:31:30 -0600
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: [DynInst_API:] RFC: interface change to SymtabAPI Aggregates
Currently (8.2.1), SymtabAPI aggregates represent a collection of symbols at the same offset, with access to uniqified vectors of names via const-ref. This is less than optimal from a storage perspective, and allows some funny inconsistencies--adding a name will sometimes, but not always, add a symbol to an aggregate, for instance.

For 9.x, we are planning to remove these accessors (get*Names) and replace them with range accessors (get_*_names_begin, get_*_names_end); we are further planning on a slight change to the semantics of add*Name, such that it will check the existing (pretty/mangled/typed) names for duplication, but if it's a new name, will always add a corresponding symbol.

These changes will only affect users who use Symtab's name access and modification methods directly on Aggregates/Functions/Variables; the interfaces of other components are untouched.

Feedback on these changes is welcome, though we want to ensure that we keep the memory gains we've made by not having aggregates maintain their own name collections.

--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] RFC: interface change to SymtabAPI Aggregates, Bill Williams <=