From patchwork Fri Oct 27 09:31:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 23903 Received: (qmail 52300 invoked by alias); 27 Oct 2017 09:31:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 51885 invoked by uid 89); 27 Oct 2017 09:31:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=Raw, 14617, 14327, 14357 X-HELO: mail-wm0-f50.google.com Received: from mail-wm0-f50.google.com (HELO mail-wm0-f50.google.com) (74.125.82.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 27 Oct 2017 09:31:53 +0000 Received: by mail-wm0-f50.google.com with SMTP id s66so2275894wmf.5 for ; Fri, 27 Oct 2017 02:31:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=VuuM6lmGH2vQsLD0v2MabRLHBhmUyz5+rZnNj3smdR4=; b=s0TZVN+c1ezPWYzv660IJhJy9EtZe7ZD0QjbFKyWLZt0uoM9eUmAlwTOApZDtJUP0J 8bSrLI3hgylGijuIWirCeGTc3jnTXohP/Z1OK7Rvv6V9bShp2Y3LZN2NzPAWqVEcK/0t /rRKFJS18v4U5MaovsgHwrhdI9p8VxwoFapOs1BOcWXSrkg+v3K0Hh0pPMzEJHylHGNH wC+AjBWI3BUhMchyLFzsQ/MIrzdHjwPMxgDPauww0HqZsw3VOhVTdSbX12xU1uc9zUdp bTojA5strgUvJUrD1hYCezvUihvKm6BYk2uqJIpCG1zaSNCTjOrXQQHvbvdqYfcOmg7g yN1g== X-Gm-Message-State: AMCzsaW2PnVbIibMO1in+Kecb6N5SPrEh1rnoDyuFuVmnN/JC65b7NuK PGCo+3JtvL1KYDnvU2J5L3XiZg== X-Google-Smtp-Source: ABhQp+RUaV6B5p1N10AxutXZLgug/p7iD3TDc9oa/+7aeVOiYfi6/QPEdquX7mE69f/VVYdUlr54ng== X-Received: by 10.28.153.3 with SMTP id b3mr101211wme.60.1509096711159; Fri, 27 Oct 2017 02:31:51 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (static.42.136.251.148.clients.your-server.de. [148.251.136.42]) by smtp.gmail.com with ESMTPSA id r29sm10349378wra.71.2017.10.27.02.31.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 27 Oct 2017 02:31:50 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 4/8] Remove regcache_descr::nr_raw_registers Date: Fri, 27 Oct 2017 10:31:38 +0100 Message-Id: <1509096702-12202-5-git-send-email-yao.qi@linaro.org> In-Reply-To: <1509096702-12202-1-git-send-email-yao.qi@linaro.org> References: <1509096702-12202-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes struct regcache_descr has fields nr_raw_registers and gdbarch, and nr_raw_registers can be got via gdbarch_num_regs (gdbarch), so it looks nr_raw_registers is redundant. This patch removes it. gdb: 2017-10-19 Yao Qi * regcache.c (struct regcache_descr) : Remove. (init_regcache_descr): Use gdbarch_num_regs. (regcache::regcache): Likewise. (regcache::get_register_status): Likewise. (regcache::assert_raw_regnum): Likewise. (regcache::cooked_read): Likewise. (regcache::cooked_read_value): Likewise. (regcache::cooked_write): Likewise. (regcache::dump): Likewise. --- gdb/regcache.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gdb/regcache.c b/gdb/regcache.c index 0aee934..fa1ed48 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -51,7 +51,6 @@ struct regcache_descr redundant information - if the PC is constructed from two registers then those registers and not the PC lives in the raw cache. */ - int nr_raw_registers; long sizeof_raw_registers; /* The cooked register space. Each cooked register in the range @@ -100,7 +99,6 @@ init_regcache_descr (struct gdbarch *gdbarch) /* Construct a strictly RAW register cache. Don't allow pseudo's into the register cache. */ - descr->nr_raw_registers = gdbarch_num_regs (gdbarch); /* Lay out the register cache. @@ -116,7 +114,7 @@ init_regcache_descr (struct gdbarch *gdbarch) = GDBARCH_OBSTACK_CALLOC (gdbarch, descr->nr_cooked_registers, long); descr->register_offset = GDBARCH_OBSTACK_CALLOC (gdbarch, descr->nr_cooked_registers, long); - for (i = 0; i < descr->nr_raw_registers; i++) + for (i = 0; i < gdbarch_num_regs (gdbarch); i++) { descr->sizeof_register[i] = TYPE_LENGTH (descr->register_type[i]); descr->register_offset[i] = offset; @@ -199,8 +197,7 @@ regcache::regcache (gdbarch *gdbarch, address_space *aspace_, else { m_registers = XCNEWVEC (gdb_byte, m_descr->sizeof_raw_registers); - m_register_status = XCNEWVEC (signed char, - m_descr->nr_raw_registers); + m_register_status = XCNEWVEC (signed char, gdbarch_num_regs (gdbarch)); } m_ptid = minus_one_ptid; } @@ -378,7 +375,7 @@ regcache::get_register_status (int regnum) const if (m_readonly_p) gdb_assert (regnum < m_descr->nr_cooked_registers); else - gdb_assert (regnum < m_descr->nr_raw_registers); + gdb_assert (regnum < gdbarch_num_regs (arch ())); return (enum register_status) m_register_status[regnum]; } @@ -401,7 +398,7 @@ regcache::invalidate (int regnum) void regcache::assert_regnum (int regnum) const { - gdb_assert (regnum >= 0 && regnum < m_descr->nr_raw_registers); + gdb_assert (regnum >= 0 && regnum < gdbarch_num_regs (arch ())); } /* Global structure containing the current regcache. */ @@ -677,7 +674,7 @@ regcache::cooked_read (int regnum, gdb_byte *buf) { gdb_assert (regnum >= 0); gdb_assert (regnum < m_descr->nr_cooked_registers); - if (regnum < m_descr->nr_raw_registers) + if (regnum < gdbarch_num_regs (arch ())) return raw_read (regnum, buf); else if (m_readonly_p && m_register_status[regnum] != REG_UNKNOWN) @@ -731,7 +728,7 @@ regcache::cooked_read_value (int regnum) gdb_assert (regnum >= 0); gdb_assert (regnum < m_descr->nr_cooked_registers); - if (regnum < m_descr->nr_raw_registers + if (regnum < gdbarch_num_regs (arch ()) || (m_readonly_p && m_register_status[regnum] != REG_UNKNOWN) || !gdbarch_pseudo_register_read_value_p (m_descr->gdbarch)) { @@ -890,7 +887,7 @@ regcache::cooked_write (int regnum, const gdb_byte *buf) { gdb_assert (regnum >= 0); gdb_assert (regnum < m_descr->nr_cooked_registers); - if (regnum < m_descr->nr_raw_registers) + if (regnum < gdbarch_num_regs (arch ())) raw_write (regnum, buf); else gdbarch_pseudo_register_write (m_descr->gdbarch, this, @@ -1435,7 +1432,7 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump) { if (regnum < 0) fprintf_unfiltered (file, "Raw value"); - else if (regnum >= m_descr->nr_raw_registers) + else if (regnum >= gdbarch_num_regs (arch ())) fprintf_unfiltered (file, ""); else if (get_register_status (regnum) == REG_UNKNOWN) fprintf_unfiltered (file, ""); @@ -1461,7 +1458,7 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump) enum register_status status; struct value *value = NULL; - if (regnum < m_descr->nr_raw_registers) + if (regnum < gdbarch_num_regs (arch ())) { raw_update (regnum); status = get_register_status (regnum); @@ -1529,7 +1526,7 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump) { fprintf_unfiltered (file, "Rmt Nr g/G Offset"); } - else if (regnum < m_descr->nr_raw_registers) + else if (regnum < gdbarch_num_regs (arch ())) { int pnum, poffset;