From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id LLj5IUnqHmp/3y8AWB0awg (envelope-from ) for ; Tue, 02 Jun 2026 10:35:53 -0400 Authentication-Results: simark.ca; 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-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 7A4111E0A6; Tue, 02 Jun 2026 10:35:53 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id D6DE31E062 for ; Tue, 02 Jun 2026 10:35:52 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 487104BA2E2E for ; Tue, 2 Jun 2026 14:35:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 487104BA2E2E 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 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 ; 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 ; 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 To: gdb-patches@sourceware.org Cc: Guinevere Larsen 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-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org 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 -- 2.54.0