[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-12 Thread Mikhail Zakharov via lldb-commits
@@ -1827,6 +1827,33 @@ class CommandObjectMultiwordProcessTrace : public CommandObjectMultiword { ~CommandObjectMultiwordProcessTrace() override = default; }; +// CommandObjectProcessDumpModificationId +class CommandObjectProcessDumpModificationId : public CommandObjectPars

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-12 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-12 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-09 Thread Mikhail Zakharov via 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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-04 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-04-02 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-03-25 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-03-15 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-03-15 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-03-14 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-03-14 Thread Mikhail Zakharov via lldb-commits
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

[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

2025-02-27 Thread Mikhail Zakharov via lldb-commits
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