From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48402 invoked by alias); 27 Apr 2017 17:34:08 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 48381 invoked by uid 89); 27 Apr 2017 17:34:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=friend X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 27 Apr 2017 17:34:06 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2C83C80E7E; Thu, 27 Apr 2017 17:34:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2C83C80E7E Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2C83C80E7E Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9F6B18AC35; Thu, 27 Apr 2017 17:34:04 +0000 (UTC) Subject: Re: [PATCH 2/6] Add constructor and destructor to regcache To: Yao Qi , gdb-patches@sourceware.org References: <1493152106-3246-1-git-send-email-yao.qi@linaro.org> <1493152106-3246-3-git-send-email-yao.qi@linaro.org> From: Pedro Alves Message-ID: <24c71239-5b8f-5ca1-a140-146acef9c543@redhat.com> Date: Thu, 27 Apr 2017 17:34:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1493152106-3246-3-git-send-email-yao.qi@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-04/txt/msg00745.txt.bz2 A few minor nits below, but looks good to me otherwise. On 04/25/2017 09:28 PM, Yao Qi wrote: > diff --git a/gdb/regcache.c b/gdb/regcache.c > index 966f0c7..e0554c7 100644 > --- a/gdb/regcache.c > +++ b/gdb/regcache.c > @@ -191,6 +191,17 @@ regcache_register_size (const struct regcache *regcache, int n) > > struct regcache > { > +public: > + explicit regcache (struct gdbarch *gdbarch, struct address_space *aspace_) > + : regcache (gdbarch, aspace_, true) There's no real good reason to use "explicit" when you have more than one parameter. > + {} > + > + ~regcache () > + { > + xfree (registers); > + xfree (register_status); > + } > + > struct regcache_descr *descr; > > /* The address space of this register cache (for registers where it > @@ -213,6 +224,33 @@ struct regcache > /* If this is a read-write cache, which thread's registers is > it connected to? */ > ptid_t ptid; > + > +private: > + explicit regcache (struct gdbarch *gdbarch, struct address_space *aspace_, > + bool readonly_p_) Ditto. > + : aspace (aspace_), readonly_p (readonly_p_) > + { > + gdb_assert (gdbarch != NULL); > + descr = regcache_descr (gdbarch); > + > + if (readonly_p) > + { > + registers = XCNEWVEC (gdb_byte, descr->sizeof_cooked_registers); > + register_status = XCNEWVEC (signed char, > + descr->sizeof_cooked_register_status); > + } > + else > + { > + registers = XCNEWVEC (gdb_byte, descr->sizeof_raw_registers); > + register_status = XCNEWVEC (signed char, > + descr->sizeof_raw_register_status); > + } > + ptid = minus_one_ptid; > + } > + > + friend struct regcache * > + get_thread_arch_aspace_regcache (ptid_t ptid, struct gdbarch *gdbarch, > + struct address_space *aspace); > }; (I'd drop the "struct" in the aspace parameters.) Thanks, Pedro Alves