| Message ID | 20260515163706.3355686-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 94B3F409FC89 for <patchwork@sourceware.org>; Fri, 15 May 2026 16:39:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 94B3F409FC89 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=HruQZqiX 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.129.124]) by sourceware.org (Postfix) with ESMTP id C483C40A00CC for <gdb-patches@sourceware.org>; Fri, 15 May 2026 16:38:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C483C40A00CC 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 C483C40A00CC Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778863113; cv=none; b=Np4ywOYui9nMORhWelocpufTQwyRvYqikymMQR/pZGwi3kINOA0/DuOJKdNQlsVBNUk5I5YA2NWF4/Sk6Jxap/MxBLClh4ofXlRmWFel3PKQcMUGKkmbgN3PMDkQIDilvFmUWz+FRNRRPc8/t2qApYj3Bs08fHvZ1PCNqLm7gdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778863113; c=relaxed/simple; bh=D1Z5uKllrsAsYqjM6ubjts2HYnN4+130ZSGpcE+tgMc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=MrFsg553osuMJTIlzn9ThmYTGOfm7aZ1LYT5xGW0xps6XavTsnHSqSYvSQIJ6cPkUX5FS5Fz2V1irdqVKEbV554xch1ZM7jOmJbKF59qV+qL5P24VS6Go89nm6DgI7FhvlseTD2EDp9TzvIxrm8EYrFyYz35t6QIy2EYAhlkEjM= 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=HruQZqiX DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C483C40A00CC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1778863113; 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=Jp4PJNNVb2F59M+JQ7w9CEDmaE/I3HNyG+P1Pc087nI=; b=HruQZqiXJHYytyTakkr8wdAyxQ+DOFJJexG6o68ST7KliLiqmBSM6BjC5pdb9A9GZodkY7 uALBe01qxDSPMIEwu+xCjOCHwFJl+R1AMaOnRiIECM5nWi4k/VVTqRVt/fE3Qq0M6hjwR1 1eqy9CqL+sT+frWDjJSPDi0f1zcrHiI= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-457-32MQpMMOOiCSuUbH1GvZ9A-1; Fri, 15 May 2026 12:38:31 -0400 X-MC-Unique: 32MQpMMOOiCSuUbH1GvZ9A-1 X-Mimecast-MFC-AGG-ID: 32MQpMMOOiCSuUbH1GvZ9A_1778863110 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 507D4195608D for <gdb-patches@sourceware.org>; Fri, 15 May 2026 16:38:30 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.96.134.23]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DA10819432BB; Fri, 15 May 2026 16:38:28 +0000 (UTC) From: Guinevere Larsen <guinevere@redhat.com> To: gdb-patches@sourceware.org Cc: Guinevere Larsen <guinevere@redhat.com> Subject: [PATCH v3 0/7] refactor the internals of record-full Date: Fri, 15 May 2026 13:36:57 -0300 Message-ID: <20260515163706.3355686-1-guinevere@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: attPoLw8Rn8ajxz9R-6iJMGhJFDnwu0XS0uhuN3FLa4_1778863110 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-5.5 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_MSPIKE_H4, 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
May 15, 2026, 4:36 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 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 (7): gdb/record: Refactor record history 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 | 1724 +++++++++++++++++++--------------------- 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, 827 insertions(+), 935 deletions(-) base-commit: 62cc7210c87a08a9e10955d9a240cfe0c0b5ee13
Comments
Oops, sorry about the noise, apparently some mis-labelled patch files were kept from one iteration to the next and I sent some emails twice. Please ignore all files that act like there are 6 patches in the series On 5/15/26 1:36 PM, Guinevere Larsen wrote: > 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 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 (7): > gdb/record: Refactor record history > 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 | 1724 +++++++++++++++++++--------------------- > 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, 827 insertions(+), 935 deletions(-) > > > base-commit: 62cc7210c87a08a9e10955d9a240cfe0c0b5ee13