From patchwork Wed May 27 13:56:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Li=C5=A1ka?= X-Patchwork-Id: 477132 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id ED20614029D for ; Thu, 28 May 2015 00:01:57 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=wRngdbr8; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :resent-from:resent-to:resent-date:resent-message-id:message-id :in-reply-to:references:from:date:subject:to; q=dns; s=default; b= Iv6175RcAmF0bDYJ6uGJenNVkGMGwsO9B+vQhYx74R19aQ1TYy9FqsbdOoisrU9e i4EpjUfGIXaenzGCuv6jlMkxGhB0J/sk/xCVgU8VeJd8VDxfRTCez7bvAgaPXZF1 AiEsVXcGm3t5Y/SjXwao2YvC/1RZy9wwS1L9S3c9ub8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :resent-from:resent-to:resent-date:resent-message-id:message-id :in-reply-to:references:from:date:subject:to; s=default; bh=ikOD Qx+lR0NyYUxNJOb/+oSCBxE=; b=wRngdbr8rm/H6QJaSYJwOcJMyDCkxP/PH3Cg +WCwdmhSFV7BEsE7F9Ky1m5JTwqZcgnNhKjTuxlvfQ4me7Ff4pHVpyRNn5NY3zLa OiVFzjKiW1L1ivzKGIC0rFaABepah9CQ71mv/A0So3axMMHiX9FMMBMUpUWaFMs6 MKdTFTA= Received: (qmail 71912 invoked by alias); 27 May 2015 14:00:30 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 70954 invoked by uid 89); 27 May 2015 14:00:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.6 required=5.0 tests=AWL, BAYES_50, KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Wed, 27 May 2015 14:00:10 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxbsI-0007Bo-2g for gcc-patches@gcc.gnu.org; Wed, 27 May 2015 10:00:07 -0400 Received: from cantor2.suse.de ([195.135.220.15]:57514 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxbsH-00078i-Lq for gcc-patches@gcc.gnu.org; Wed, 27 May 2015 10:00:02 -0400 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id C2E88ADF0 for ; Wed, 27 May 2015 13:59:56 +0000 (UTC) Resent-From: =?UTF-8?B?TWFydGluIExpxaFrYQ==?= Resent-To: GCC Patches Resent-Date: Wed, 27 May 2015 15:59:56 +0200 Resent-Message-ID: <5565CDDC.2060900@suse.cz> Resent-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 Message-Id: In-Reply-To: <83d59ba92a3c4b3ba831ebc2fce325f0416848d0.1432735040.git.mliska@suse.cz> References: <83d59ba92a3c4b3ba831ebc2fce325f0416848d0.1432735040.git.mliska@suse.cz> From: mliska Date: Wed, 27 May 2015 15:56:47 +0200 Subject: [PATCH 10/35] Change use to type-based pool allocator in cfg.c. To: gcc-patches@gcc.gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 195.135.220.15 X-IsSubscribed: yes gcc/ChangeLog: 2015-04-30 Martin Liska * cfg.c (initialize_original_copy_tables):Use new type-based pool allocator. (free_original_copy_tables) Likewise. (copy_original_table_clear) Likewise. (copy_original_table_set) Likewise. --- gcc/cfg.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/gcc/cfg.c b/gcc/cfg.c index cdcc01c..ddfecdc 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -1066,18 +1066,16 @@ static hash_table *bb_copy; /* And between loops and copies. */ static hash_table *loop_copy; -static alloc_pool original_copy_bb_pool; - +static pool_allocator *original_copy_bb_pool; /* Initialize the data structures to maintain mapping between blocks and its copies. */ void initialize_original_copy_tables (void) { - gcc_assert (!original_copy_bb_pool); - original_copy_bb_pool - = create_alloc_pool ("original_copy", - sizeof (struct htab_bb_copy_original_entry), 10); + + original_copy_bb_pool = new pool_allocator + ("original_copy", 10); bb_original = new hash_table (10); bb_copy = new hash_table (10); loop_copy = new hash_table (10); @@ -1095,7 +1093,7 @@ free_original_copy_tables (void) bb_copy = NULL; delete loop_copy; loop_copy = NULL; - free_alloc_pool (original_copy_bb_pool); + delete original_copy_bb_pool; original_copy_bb_pool = NULL; } @@ -1117,7 +1115,7 @@ copy_original_table_clear (hash_table *tab, unsigned obj) elt = *slot; tab->clear_slot (slot); - pool_free (original_copy_bb_pool, elt); + original_copy_bb_pool->remove (elt); } /* Sets the value associated with OBJ in table TAB to VAL. @@ -1137,8 +1135,7 @@ copy_original_table_set (hash_table *tab, slot = tab->find_slot (&key, INSERT); if (!*slot) { - *slot = (struct htab_bb_copy_original_entry *) - pool_alloc (original_copy_bb_pool); + *slot = original_copy_bb_pool->allocate (); (*slot)->index1 = obj; } (*slot)->index2 = val;