From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30208 invoked by alias); 23 Oct 2013 16:37:10 -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 30198 invoked by uid 89); 23 Oct 2013 16:37:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 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; Wed, 23 Oct 2013 16:37:09 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9NGb7nO006412 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 23 Oct 2013 12:37:07 -0400 Received: from barimba (ovpn-113-54.phx2.redhat.com [10.3.113.54]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r9NGb5Pi000527 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 23 Oct 2013 12:37:06 -0400 From: Tom Tromey To: Yao Qi Cc: Subject: Re: [PATCH 2/5] Associate target_dcache to address_space. References: <1382516855-32218-1-git-send-email-yao@codesourcery.com> <1382516855-32218-3-git-send-email-yao@codesourcery.com> Date: Wed, 23 Oct 2013 16:37:00 -0000 In-Reply-To: <1382516855-32218-3-git-send-email-yao@codesourcery.com> (Yao Qi's message of "Wed, 23 Oct 2013 16:27:32 +0800") Message-ID: <878uxkdjv3.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-10/txt/msg00725.txt.bz2 >>>>> "Yao" == Yao Qi writes: Yao> Nowadays, 'target_dcache' is a global variable in GDB, which is not Yao> necessary. It can be a per-address-space variable. In this patch, we Yao> add a new structure 'target_dcache', which includes all dcaches of Yao> target and all of them are per-address-space. I like this patch quite a bit. For one thing, it fixes the target dcache for the coming multi-target work :-) Yao> +/* The current added space. */ Yao> +#define current_address_space current_program_space->aspace On the whole I would prefer we not add new object-style macros like this. (Actually I'd really like it if we got rid of the existing ones too...) Writing out the expansion in the few places it is used seems better to me. Yao> +static void Yao> +target_dcache_cleanup (struct address_space *aspace, void *arg) Yao> +{ Yao> + struct target_dcache *dcache Yao> + = address_space_data (aspace, target_dcache_aspace_key); Yao> + Yao> + target_dcache_xfree (dcache); Here you don't need to call address_space_data, since ARG is the dcache that was passed in. Tom