| Message ID | 20260602143342.12245-1-guinevere@redhat.com |
|---|---|
| Headers |
Return-Path: <gdb-patches-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EE4394BA2E0B for <patchwork@sourceware.org>; Tue, 2 Jun 2026 14:35:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE4394BA2E0B Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=YUS9RfvX X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id ED17C4BA5436 for <gdb-patches@sourceware.org>; Tue, 2 Jun 2026 14:35:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED17C4BA5436 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ED17C4BA5436 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780410927; cv=none; b=drUTnQLONb1PLgxgIa4IHoq9818NmTzWci5rRSyheBRDTtxYrlUxXXvTwe0gdHWgM0PX0P8rNO41lgfxuw73pR5KC24OOLZ4cTk9itrTVJZprCi8BytQJFVg8GpEfXf4fBdkYJ8WFqfc/NWb2bR6H8A5MRVB3G88w5JCzvpCgWo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780410927; c=relaxed/simple; bh=B6AkJ8AK4jSDqr0P9cBkIG382uum7JPm9p6nyDH4aTU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=OM/dIgmO6i88+8HSS/ih3ofIBq8hLFZmdWjCZuT7AuMESz7Z+lwDMBh7hUVZ60Ycwqd47n5TlytyNB7tABXGHS8dCCs34utjTgW2RzlRq1oUhvmoajM5ecjPXDvBQCZUhJKDBCbrzBs1rwE5h4+psaNbLmtmWU+oybb5hlUy+9s= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=YUS9RfvX DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED17C4BA5436 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1780410926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qBEB09OhCxhHOAQUi53F5ehJqbi3JJzmzxa7NRjKWkE=; b=YUS9RfvX3/smJcUqoGJO1OGx+xwWsqZSjx2MCDlT4o25RFUmj9ArLA572rJfVWMRLd4K77 EjpzG/siurtrKTtjV3Si9YHPpGhi16HfFqlRQcht+tUIDwTHgrnKKZY9AK43k2q5fhj/GU VhzGWS30meS5CpqfuVqb164+KXoi/8k= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-436-LxefmnL4OuWwf-OttbZDJw-1; Tue, 02 Jun 2026 10:35:25 -0400 X-MC-Unique: LxefmnL4OuWwf-OttbZDJw-1 X-Mimecast-MFC-AGG-ID: LxefmnL4OuWwf-OttbZDJw_1780410924 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A71F71800614 for <gdb-patches@sourceware.org>; Tue, 2 Jun 2026 14:35:24 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.96.134.9]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BB09C1688; Tue, 2 Jun 2026 14:35:21 +0000 (UTC) From: Guinevere Larsen <guinevere@redhat.com> To: gdb-patches@sourceware.org Cc: Guinevere Larsen <guinevere@redhat.com> Subject: [PATCH v4 0/8] refactor the internals of record-full Date: Tue, 2 Jun 2026 11:33:34 -0300 Message-ID: <20260602143342.12245-1-guinevere@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: XUxUZqWUUR8mhZs2NjO90Q-K1Ah-xUIQn-HSFom7UmI_1780410924 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_HOSTKARMA_W, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_NONE, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
refactor the internals of record-full
|
|
Message
Guinevere Larsen
June 2, 2026, 2:33 p.m. UTC
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.
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 | 1725 +++++++++++++++++++---------------------
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, 831 insertions(+), 932 deletions(-)
base-commit: 909db30adab1688870e978c85d014d4a36641f4e