@@ -1827,6 +1827,33 @@ class CommandObjectMultiwordProcessTrace : public
CommandObjectMultiword {
~CommandObjectMultiwordProcessTrace() override = default;
};
+// CommandObjectProcessDumpModificationId
+class CommandObjectProcessDumpModificationId : public CommandObjectPars
https://github.com/real-mikhail updated
https://github.com/llvm/llvm-project/pull/129092
>From 1d2da22bceb83cbda54567e5f819e5eef4e6 Mon Sep 17 00:00:00 2001
From: Mikhail Zakharov
Date: Thu, 27 Feb 2025 18:43:33 +0100
Subject: [PATCH 01/11] [lldb] Do not bump memory modificator ID when
"in
https://github.com/real-mikhail edited
https://github.com/llvm/llvm-project/pull/129092
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
real-mikhail wrote:
Hi,
I added the new option key `target.process.track-memory-cache-changes` (which
defaults to `true`, meaning bulletproof behaviour). Setting it to `false`
enables the optimization I initially suggested. I also added a new dump command
and ensured with test that MemoryID i
https://github.com/real-mikhail updated
https://github.com/llvm/llvm-project/pull/129092
>From 1d2da22bceb83cbda54567e5f819e5eef4e6 Mon Sep 17 00:00:00 2001
From: Mikhail Zakharov
Date: Thu, 27 Feb 2025 18:43:33 +0100
Subject: [PATCH 01/10] [lldb] Do not bump memory modificator ID when
"in
https://github.com/real-mikhail updated
https://github.com/llvm/llvm-project/pull/129092
>From 1d2da22bceb83cbda54567e5f819e5eef4e6 Mon Sep 17 00:00:00 2001
From: Mikhail Zakharov
Date: Thu, 27 Feb 2025 18:43:33 +0100
Subject: [PATCH 1/9] [lldb] Do not bump memory modificator ID when "inter
real-mikhail wrote:
Thanks folks. I agree that approach with the option is the best (will see what
looks better, something like `target.process.expressions-flush-memory-cache` or
flag in `SBExpressionOptions`). Since this flag will affect very low-level code
maybe global flag (in `target.proce
real-mikhail 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 t
real-mikhail wrote:
> If I make an instance of a collection class (most of which are comprehended
> by synthetic child providers) and then call:
> (lldb) expr $my_vector.append(1)
> (lldb) expr $my_vector
That will still work with my changes. Because function call (`.append()`) is
JIT compiled
real-mikhail wrote:
I checked that and added a test for this case. Updating value works and new
value can be displayed (in simple case):
```
(lldb) expr A $mine = {100, 200}
(lldb) expr $mine.a = 300
(int) $0 = 300
(lldb) expr $mine
(A) $mine = {a=300, b=200} {
a = 300
b = 200
}
```
But it
https://github.com/real-mikhail updated
https://github.com/llvm/llvm-project/pull/129092
>From 1d2da22bceb83cbda54567e5f819e5eef4e6 Mon Sep 17 00:00:00 2001
From: Mikhail Zakharov
Date: Thu, 27 Feb 2025 18:43:33 +0100
Subject: [PATCH 1/2] [lldb] Do not bump memory modificator ID when "inter
https://github.com/real-mikhail created
https://github.com/llvm/llvm-project/pull/129092
This change prevents invalidating and updating values in
`ValueObject::UpdateValueIfNeeded` when only "internal" debugger memory is
updated. Writing to "internal" debugger memory happens when, for instance
12 matches
Mail list logo