From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 109339 invoked by alias); 6 Dec 2015 07:58:05 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 108724 invoked by uid 89); 6 Dec 2015 07:58:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Sun, 06 Dec 2015 07:58:02 +0000 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 75434AC01; Sun, 6 Dec 2015 07:57:59 +0000 (UTC) User-Agent: K-9 Mail for Android In-Reply-To: <20151205225727.GS2094@intrepid.com> References: <20151201053129.GA29501@intrepid.com> <20151201163407.GA30434@intrepid.com> <20151205225727.GS2094@intrepid.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: RFC: Merge the GUPC branch into the GCC 6.0 trunk From: Richard Biener Date: Sun, 06 Dec 2015 07:58:00 -0000 To: Gary Funck CC: Gcc Patches ,Richard Henderson ,Meador Inge ,Jakub Jelinek ,Joseph Myers ,Nenad Vukicevic Message-ID: <34B92353-A244-4393-9591-11744AFFE7C1@suse.de> X-SW-Source: 2015-12/txt/msg00669.txt.bz2 On December 5, 2015 11:57:27 PM GMT+01:00, Gary Funck wrote: >On 12/02/15 10:40:50, Richard Biener wrote: >> On Tue, 1 Dec 2015, Gary Funck wrote: >> > The main change recommended to reduce tree space was moving the >> > "layout factor" (blocking factor) out of the tree node, and using >> > only two bits there, one bit for a relatively common case of 0, >> > and the other for > 1. It was suggested that we use a hash >> > table to map tree nodes to layout qualifiers for the case they >> > are > 1. This necessitated using a garbage collected tree map, >> > which unfortunately meant that tree nodes needed special garbage >> > collection logic. >> >> I still don't see why it needs special garbage collection logic. >> We have many tree -> X maps that just get away without. >> [...] >> As said, I don't see why you need a special GC collection logic >> at all. Please explain. > >The problem we ran into is that we had a tree map which >mapped a tree node to its UPC layout qualifier, which >is an integral constant (CST). Tree nodes for CST's >are made unique by hashing them into an integer->tree map. >What happened is that the GC would free up entries in the >CST table that were being used by the layout qualifier map. > >It seems that the new tree map logic fixes this problem >(as you've noted). I backed out the custom GC logic and >re-ran a large test that extensively exercises the use case >that triggers the issue -- works like a charm. That's good news! Richard. >thanks, >- Gary