From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id jTKCAj0lMGpPfggAWB0awg (envelope-from ) for ; Mon, 15 Jun 2026 12:15:57 -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=FvJfZL27; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id E7A481E098; Mon, 15 Jun 2026 12:15:56 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.1 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,RCVD_IN_SBL_CSS autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 C659E1E070 for ; Mon, 15 Jun 2026 12:15:55 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7A11F4AA3945 for ; Mon, 15 Jun 2026 16:15:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7A11F4AA3945 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=FvJfZL27 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 DF4A24A9F1F9 for ; Mon, 15 Jun 2026 16:15:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DF4A24A9F1F9 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 DF4A24A9F1F9 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=1781540113; cv=none; b=dJ3o94YPgSHT9DbGc5dmgIMTdiisKwveA/AsS5815ZkAX9AjOZXLuC9uyWxS6Q+ztUrAt327Tenzge7TPpMwhdwjxncrqmMioztXqEOArzI1n6WnDwOwkaWlWJy5GxRItdeHsYtgGr2sIOnn4eZOq2E4t1x9EGwNL/rPLFtakPE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1781540113; c=relaxed/simple; bh=QbrnA3jL3ktWVrITQAnEseRF5jsw/MOh1p/Q18Kp+PE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=O6+Tzv577DjHjjToMrjPNouynhQHNQf9id6Yy/bIXr82O/i+KR5I/7iAd0Ykgyq4lSb1jwxtMmEsR7Zjkqbf1p01vSNXv6Nun4KrvBawUhGCD2yfnGthR1P2c9K9id+GmccDiVVCR7OqmsVrJzIHdub0q6dcTXrUywT52h9plnI= 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=FvJfZL27 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DF4A24A9F1F9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781540110; 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=Y2yF0gjkRUmNIqopzrEe1rOUOK5DhQnj/BBcaIZC1fM=; b=FvJfZL278/jWaNJWhNd2f912dI5XQ7X3rZc34Y7pv4+35vSYwaaG21VxNm/QaAMGcno7mC auNQi75WrACM1HGQyqQZt4HdB9PgbuPpfY8+U/jvIavED3OM2ErvkAjrh7PphSGZPPiosv iaD6lbPGnMe+P3ZBZLWNhLDwOD70TpY= Received: from mx-prod-mc-01.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-665-dF8TKxLZOfuwgaBJC7OJEA-1; Mon, 15 Jun 2026 12:15:09 -0400 X-MC-Unique: dF8TKxLZOfuwgaBJC7OJEA-1 X-Mimecast-MFC-AGG-ID: dF8TKxLZOfuwgaBJC7OJEA_1781540108 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6293E1955F08 for ; Mon, 15 Jun 2026 16:15:08 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.96.134.37]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E737D1955BCE; Mon, 15 Jun 2026 16:15:06 +0000 (UTC) From: Guinevere Larsen To: gdb-patches@sourceware.org Cc: Guinevere Larsen Subject: [PATCH v5 0/8] refactor the internals of record-full Date: Mon, 15 Jun 2026 13:14:52 -0300 Message-ID: <20260615161500.34181-1-guinevere@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ZBTdOZVVOPOlo280-8yin6HhF1dd0UOT5HCW-mIp7Hs_1781540108 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. 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