From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id EC7A638582B6 for ; Mon, 18 Dec 2023 19:48:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EC7A638582B6 Authentication-Results: sourceware.org; dmarc=pass (p=none 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 EC7A638582B6 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702928909; cv=none; b=uHRNsMHoFasVu7JKm07SCYDGwy8hZFKSNEkMnYmomCuqFNsQhyXPXISQ7XW85r8UHmY15dUki1MMsJP5kZglhQ5ibxDsVV3o18Tbp5YT9EFxZlC5Yi6/yLxsblEjd3Xjl/hL9/j0ZqISCmeYoz041X83PMd2yUjaqFUbugI0XMw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702928909; c=relaxed/simple; bh=CJZ7DT6SoCGalyvcHQc1oN18Dr5aO51Nu/zXN3XiR58=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=QuQ6rGeEdv7jC8nFkR7VFljko7dmEfqZEqh2SQ5AKk5ZUKzzREIVQW98PUYFYtFy0ZUaVmTKxAANUM3leGl29UnE2rC/6Opu2MKxDZTDeqXs2/dYgfJxEKG5JZmRDf0kmTzJ8rF93ZZBFPrCL/1n07YNTKTdxk5extxmxPFFJ+4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1702928907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=flpOgEzxwAydxZNqmmWRFnojuGfbWaDRpnaAviHIvT8=; b=ddnuZsjoe+lCsZepGOzE0NpCb25G3n+jwr1O9aOj1nu4g3kPy8D7MP71GDjVG34C1AZCtK ZlLLuH6bi1lby5KTGzMiRRH/PlMrHtAzLe9wTCWxbZdkJXx4Jsaatdag9fT8441kZjh3Op d5Ji1xxHOhNr2GpZiX6MGTCTFDDONgw= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-186-vSKQb3oyPv-ri9w_I1_m6w-1; Mon, 18 Dec 2023 14:48:26 -0500 X-MC-Unique: vSKQb3oyPv-ri9w_I1_m6w-1 Received: by mail-lj1-f200.google.com with SMTP id 38308e7fff4ca-2cc65ff52dcso17024411fa.1 for ; Mon, 18 Dec 2023 11:48:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702928884; x=1703533684; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=flpOgEzxwAydxZNqmmWRFnojuGfbWaDRpnaAviHIvT8=; b=fbRY5/csemlhdxmDaDHJxQvZoAmxEHdo7+qm6UZNKCZwvTeN+cKZhPTAHKCGnEqwE7 svKfufRPC/E4q50LTk1MrCs2azQcVxbdmIgQ2FBFwQuQSlH6GnZD6Y6lE3+pTiEHBa1x uNHeo4/3rOKN6Y/6G1BLV6aG+eLDk3FvPqlZXSyZX9c0ta272JvZ+/M1BbWzSuRZK9Su ydx+1XhqZkn9V61ayht45xoPqU5GmZOMK+yz7LO+UjNqV4w+KpBnKMic/rA7ydOhb6Ud I4/XgDnr4uyfbHJrtTRcTf70i32nG1F6MDnNyLMUdx209N5TVTMmo5fmWDfaKdo/Tngr HzgA== X-Gm-Message-State: AOJu0YwuuFzKgkWyauKM52wxXNh+rpjtebQLu7uDNw1PJxzaxcCWy7jf x0OhBKeyE0zKnONvuSRqy0T2wr54mszmlHki61oItI16ms1RsCdNGAYGzJ7/bJi0aGm1DZDOZqI Joiyrlgge2XoH4qBM80nMaaUxE7q9Ig== X-Received: by 2002:a2e:a5c4:0:b0:2cc:1fa8:1f95 with SMTP id n4-20020a2ea5c4000000b002cc1fa81f95mr11191747ljp.83.1702928884780; Mon, 18 Dec 2023 11:48:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IHd2FOkNksD0z4SeXkQKENyKvMwFMwpVzj0OfE06RXYRGVR2ANTLDcKc8sWiZGoO759zsRjMg== X-Received: by 2002:a2e:a5c4:0:b0:2cc:1fa8:1f95 with SMTP id n4-20020a2ea5c4000000b002cc1fa81f95mr11191734ljp.83.1702928884407; Mon, 18 Dec 2023 11:48:04 -0800 (PST) Received: from localhost (92.40.184.41.threembb.co.uk. [92.40.184.41]) by smtp.gmail.com with ESMTPSA id bt13-20020a0564020a4d00b00551d6d51401sm6245885edb.53.2023.12.18.11.48.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 11:48:04 -0800 (PST) From: Andrew Burgess To: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH 07/14] Simplify update_register_data In-Reply-To: <20231217-tui-regs-cleanup-v1-7-67bd0ea1e8be@tromey.com> References: <20231217-tui-regs-cleanup-v1-0-67bd0ea1e8be@tromey.com> <20231217-tui-regs-cleanup-v1-7-67bd0ea1e8be@tromey.com> Date: Mon, 18 Dec 2023 19:48:02 +0000 Message-ID: <87zfy7z40d.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Tom Tromey writes: > This changes update_register_data to always update the register data. > The idea here is that this is really only called when either the > desired register group changes, or when gdb transitions from not > having a frame to having a frame. > > show_registers is also simplified slightly to account for this. > --- > gdb/tui/tui-regs.c | 57 ++++++++++++++++++++---------------------------------- > 1 file changed, 21 insertions(+), 36 deletions(-) > > diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c > index 0ad23e93778..7b6b669fe51 100644 > --- a/gdb/tui/tui-regs.c > +++ b/gdb/tui/tui-regs.c > @@ -170,15 +170,10 @@ tui_data_window::show_registers (const reggroup *group) > group = general_reggroup; > > if (target_has_registers () && target_has_stack () && target_has_memory ()) > - { > - update_register_data (group, get_selected_frame (NULL)); > - > - /* Clear all notation of changed values. */ > - for (auto &&data_item_win : m_regs_content) > - data_item_win.highlight = false; > - } > + update_register_data (group, get_selected_frame (nullptr)); > else > { > + set_title (_("Registers")); It's strange that you add this line, but in the very next commit change the text to the empty string. Maybe I'm missing something, but it feels like you could just set the empty string here maybe? Thanks, Andrew > m_current_group = nullptr; > m_regs_content.clear (); > } > @@ -195,40 +190,30 @@ void > tui_data_window::update_register_data (const reggroup *group, > frame_info_ptr frame) > { > - if (group != m_current_group) > - { > - m_current_group = group; > + m_current_group = group; > > - /* Make a new title showing which group we display. */ > - this->set_title (string_printf ("Register group: %s", group->name ())); > + /* Make a new title showing which group we display. */ > + this->set_title (string_printf ("Register group: %s", group->name ())); > > - /* Create the registers. */ > - m_regs_content.clear (); > + /* Create the registers. */ > + m_regs_content.clear (); > > - struct gdbarch *gdbarch = get_frame_arch (frame); > - for (int regnum = 0; > - regnum < gdbarch_num_cooked_regs (gdbarch); > - regnum++) > - { > - /* Must be in the group. */ > - if (!gdbarch_register_reggroup_p (gdbarch, regnum, group)) > - continue; > + struct gdbarch *gdbarch = get_frame_arch (frame); > + for (int regnum = 0; > + regnum < gdbarch_num_cooked_regs (gdbarch); > + regnum++) > + { > + /* Must be in the group. */ > + if (!gdbarch_register_reggroup_p (gdbarch, regnum, group)) > + continue; > > - /* If the register name is empty, it is undefined for this > - processor, so don't display anything. */ > - const char *name = gdbarch_register_name (gdbarch, regnum); > - if (*name == '\0') > - continue; > + /* If the register name is empty, it is undefined for this > + processor, so don't display anything. */ > + const char *name = gdbarch_register_name (gdbarch, regnum); > + if (*name == '\0') > + continue; > > - m_regs_content.emplace_back (regnum, frame); > - } > - } > - else > - { > - /* The group did not change, so we can simply update each > - item. */ > - for (tui_register_info ® : m_regs_content) > - reg.update (frame); > + m_regs_content.emplace_back (regnum, frame); > } > } > > > -- > 2.43.0