From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6391 invoked by alias); 11 Dec 2003 19:26:35 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 6384 invoked from network); 11 Dec 2003 19:26:35 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 11 Dec 2003 19:26:35 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id hBBJQY222714 for ; Thu, 11 Dec 2003 14:26:34 -0500 Received: from speedy.slc.redhat.com (vpn50-10.rdu.redhat.com [172.16.50.10]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id hBBJQX206492; Thu, 11 Dec 2003 14:26:33 -0500 Received: from redhat.com (law@localhost) by speedy.slc.redhat.com (8.12.10/8.12.8/Submit) with ESMTP id hBBJQTZR024715; Thu, 11 Dec 2003 12:26:29 -0700 Message-Id: <200312111926.hBBJQTZR024715@speedy.slc.redhat.com> X-Authentication-Warning: speedy.slc.redhat.com: law owned process doing -bs To: Andrew MacLeod cc: gcc mailing list Reply-To: law@redhat.com Subject: Re: [tree-ssa][ GC, Virtual operands, and GCing between passes In-Reply-To: Your message of "09 Dec 2003 14:35:22 EST." <1070998524.17667.2860.camel@p4> From: law@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 11 Dec 2003 19:30:00 -0000 X-SW-Source: 2003-12/txt/msg00667.txt.bz2 In message <1070998524.17667.2860.camel@p4>, Andrew MacLeod writes: > > >Are we sure we want to GC between passes? :-| Yes :-) >since VDEFs and VUSEs are tree nodes, I can't allocate the structure >which holds them anywhere except GC'd memory can I? Huh? Presumably turning them into tree nodes (they aren't currently tree nodes) buys you something? Certainly if they are tree nodes, then they need to be allocated by the GC system and be reachable from GC roots. >struct v_operands_d *vops; > >struct v_operands_d { > unsigned int num > tree *vec; >} > >so I dont want the memory associated with either 'vops' or 'vec' >garbage collected, but I do want to keep around anything that >vec[0]..vec[num-1] points to. > >Thats not really going to work too well is it? At least I haven't been >able to do it. So I'll have to keep ggcing the memory for the vops >structure?. I don't think it's going to work. I'd probably suggest you GC the whole thing and if necessary, keep a free list of objects you can recycle. In that kind of scheme, you'd expose the freelist of the GC system as well. I guess what I really don't understand is why you're trying to not expose stuff to the GC system. Is it because we don't have a ggc_free? Or is it something else? Jeff