Coming back to this part of the thread... On Thu., 27 Jul. 2017, 11:54 am Robinson, Paul <paul.robin...@sony.com> wrote:
> > | > > 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 right? If 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 > >
_______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org