[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 19 12:54:41 PDT 2025
jimingham wrote:
> > I think something like that might work.
>
> Clarification: that will work only for cases if there are `VariableObject` for each variable and they are checked. If, for instance, non-persistent variable holds reference to persistent variable and only `MemoryCacheId` is bumped then (pretty printer of) non-persistent variable will not know that it needs updating.
Making an object an object in the expression parser so that you can assign it to a member of some extant object is a useful way to test "what happens if an object made this way is put here". That's still a pretty advanced use, so if for instance you had to set a "target.process.expressions-flush-memory-cache" setting for the times we get this wrong. It seems like you are also solving a performance problem that most people don't have - we try hard not to use expressions in our data formatters.
So having a way to indicate you need the faster vrs. the more bullet-proof behavior might be an acceptable solution. You might even argue that the setting should be "bullet-proof behavior" by default. If you are shipping a data formatter that benefits from this setting, you can also set the setting in the module that installs the data formatters...
https://github.com/llvm/llvm-project/pull/129092
More information about the lldb-commits
mailing list