This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dwarflint --stats


> I didn't write about it, but it's been there for some time now.  It's 
> now possible to ignore DIEs that are "mutable" or "immutable". 
> Mutability is determined depending on whether the expression contains 
> DW_OP_{implicit|stack}_value before DW_OP_{,bit}_piece.  If it does, 
> it's mutable, otherwise it's immutable.

Cool!

> Since there can be multiple pieces per expression, one DIE may end up 
> being classified as both mutable and immutable.  There's no flag for 
> "ignore not immutable".  These stats can be computed in a roundabout way 
> by first running dwarflint with no ignore, then with ignore immutable 
> and subtracting.  If that's something that is useful, I can teach the 
> appropriate class to be able to ignore !mutable, or something like that.

Since it was Jakub who asked for this, he'll have to say what choices are
most useful for the statistics he wants to see.

> And now it occurs to me that it needs to handle DW_OP_call to determine 
> the mutability accurately, which is not currently done.

Nothing we have generates DW_OP_call* so far, so that is not a big deal.
(It could sit on the to-do list for many months and we won't mind.)
But for completeness, yes, following DW_OP_call* as if the referent were
spliced in place of the call is what you should do for all the checks.


Thanks,
Roland

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]