> > As an alternative to the indexed proposal in 250130.1, which proposes > allowing a constant classed value for DW_AT_object_pointer, as an index > into the formal parameters of the subprogram, I was wondering how folks > would feel about something a bit different: > > What about a reference classed form that is a (signed) LEB128 relative DIE > offset - relative to the start of the DIE containing the attribute value? > > This would allow for other shortenings of DIEs that are commonly nearby. > > I don't have measurements on how much it could decrease DWARF size, but > could maybe prototype such a thing (bit expensive, because it makes DWARF > byte size dependent on itself in some ways - and LLVM's DWARF generation > precomputes DIE offsets, etc, rather than relying on assembler relaxation) >
Yes, it's worth discussing, but I suspect the downsides you've mentioned would outweigh any benefits obtained by using an offset rather than an index. If anything, I'd think the index would be more useful if you read and internalize the DIE tree. An index would also almost always be a single byte (and its size would be predictable), while an offset would be more likely to require 2 bytes. -cary
-- Dwarf-discuss mailing list Dwarf-discuss@lists.dwarfstd.org https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss