Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Guinevere Larsen <guinevere@redhat.com>
To: gdb-patches@sourceware.org
Cc: Guinevere Larsen <guinevere@redhat.com>
Subject: [PATCH v5 0/8] refactor the internals of record-full
Date: Mon, 15 Jun 2026 13:14:52 -0300	[thread overview]
Message-ID: <20260615161500.34181-1-guinevere@redhat.com> (raw)

This series introduces a refactor and modernization to the record-full
history, moving it form a manually managed doubly-linked list into an
std::deque, which can make better use of caching and might make
execution faster.

The main driving force behind this change is the plan to implement
support for multithreaded inferiors, since each instruction will need to
know the thread that executed it, and it'll be much easier if there is a
more consistent spot to find all this information.

All patches in this series have received review tags, so I plan to
approve it myself and pushing it next monday if no further reviews
happen.

Changes for v5: Added an assert that we are always assigning entries to
uninitialized entries, and comment explaining the reasoning.

Changes for v4: Split the first commit into the majority of the
refactor and the refactoring of reading/writing to a corefile. The rest
was mostly cosmetic changes suggested by Christina.

Changes for v3: Made the former "cleanup" functions into actual
destructors. To do that and avoid double-frees, I made it so
record_full_entry (and the 2 classes under it) can't be copied, only
moved. Also implemented almost all the feedback from Christina on the
changes.

Guinevere Larsen (8):
  gdb/record: Refactor record history
  gdb/record: factor out reading and writing the execution log to
    corefile
  gdb/record: remove record_full_insn_num
  gdb/record: c++ify internal structures of record-full.c
  gdb/record: make record_full_history more c++-like
  gdb/record: extract the PC to record_full_instruction
  gdb/record: Define new version of the record-save section
  gdb/record: rename record_full_list to record_full_log

 gdb/NEWS               |    4 +
 gdb/aarch64-tdep.c     |    2 -
 gdb/amd64-linux-tdep.c |    3 -
 gdb/arm-tdep.c         |    2 -
 gdb/i386-linux-tdep.c  |    3 -
 gdb/i386-tdep.c        |    4 -
 gdb/loongarch-tdep.c   |    2 -
 gdb/moxie-tdep.c       |    2 -
 gdb/ppc-linux-tdep.c   |    3 -
 gdb/record-full.c      | 1740 +++++++++++++++++++---------------------
 gdb/record-full.h      |    1 -
 gdb/riscv-tdep.c       |    3 -
 gdb/rs6000-tdep.c      |    4 -
 gdb/s390-linux-tdep.c  |    3 -
 gdb/s390-tdep.c        |    2 -
 15 files changed, 848 insertions(+), 930 deletions(-)


base-commit: d62f64e17b33fb76653fa0c008c61b782d07f8ec
-- 
2.54.0


             reply	other threads:[~2026-06-15 16:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-15 16:14 Guinevere Larsen [this message]
2026-06-15 16:14 ` [PATCH v5 1/8] gdb/record: Refactor record history Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 2/8] gdb/record: factor out reading and writing the execution log to corefile Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 3/8] gdb/record: remove record_full_insn_num Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 4/8] gdb/record: c++ify internal structures of record-full.c Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 5/8] gdb/record: make record_full_history more c++-like Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 6/8] gdb/record: extract the PC to record_full_instruction Guinevere Larsen
2026-06-15 16:14 ` [PATCH v5 7/8] gdb/record: Define new version of the record-save section Guinevere Larsen
2026-06-15 16:15 ` [PATCH v5 8/8] gdb/record: rename record_full_list to record_full_log Guinevere Larsen
2026-07-03 13:37 ` [PATCH v5 0/8] refactor the internals of record-full Guinevere Larsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260615161500.34181-1-guinevere@redhat.com \
    --to=guinevere@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox