[Dwarf-Discuss] address pool + offset representation

David Blaikie dblaikie at gmail.com
Tue Aug 22 18:25:15 PDT 2017

Coming back to this part of the thread...

On Thu., 27 Jul. 2017, 11:54 am Robinson, Paul <paul.robinson at sony.com>

>                       |
> > I don't really know just how much LLDB cares about fixed-size forms/DIEs,
> > but rumor has it it's important to some degree, so I continue to have a
> > slight preference towards fixed size representations (or at least having
> > the option to do so, even if there are variable length forms too - as
> > with addrx).
> Greg Clayton has told me it's a performance win for loading .debug_info.
> They can index fixed-size DIEs without actually parsing them.  When I
> proposed the fixed-size strx/addrx forms to the committee, I did some
> data collection on the effect of strx and addrx.  Converting to strx
> meant fixed size DIEs went from 90-ish to 55-ish percent of all DIEs,
> so fixed-size strxN forms were definitely worthwhile.  The equivalent
> analysis for addrx showed a difference of more like 4%, which was
> enough to persuade the committee that would be worthwhile also.

Here ^ I'd I'm following, you mention that 4% fewer fixed size DIEs was
enough to justify having fixed size forms of addrx - if I'm reading that


we go with the low_pc-as-range idea then adding fixed-size versions of
> rnglistx in DWARF 6 would not be a problem.
> The advantage of what the ranges idea is it can all be done using
> exiting DWARF 5 features.
> > at that point I wouldn't mind a form that was two ULEBs (addrx + offset).
> Might as well just allow DW_AT_low_pc to use a location expression?
>   DW_OP_addrx <n> DW_OP_constx <offset> DW_OP_plus
> This would be way more acceptable than a new special-purpose form.
> Still bigger than a new form, of course, but as I noted above only 4%
> of DIEs become variable size so that penalty doesn't seem excessive.

And here ^ you're suggesting 4% fewer fixed size DIEs would be acceptable?

Did I misunderstand one of those or a step between them?

In any case, maybe I'll see if Doug and other folks on gdb would be willing
to entertain support for location expressions in address kind attributes &
then use the general expression at least as a first blush. It seems a bit
can-of-wormsy though.

- Dave

3 bytes plus 3 LEBs, so only 3 bytes + 1 LEB more than the new form,
> and still cheaper than the ranges idea.
> --paulr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dwarfstd.org/pipermail/dwarf-discuss-dwarfstd.org/attachments/20170823/e89e433f/attachment.htm>

More information about the Dwarf-Discuss mailing list