This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Improve PR29433, don't duplicate identifier names in dwarf2out
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 30 Nov 2006 10:24:16 -0800
- Subject: Re: [PATCH] Improve PR29433, don't duplicate identifier names in dwarf2out
- References: <Pine.LNX.4.64.0611301714410.30849@zhemvz.fhfr.qr>
On Thu, 2006-11-30 at 17:18 +0100, Richard Guenther wrote:
> This patch changes dwarf2out.c to not duplicate the strings in
> identifier nodes as these are collected in an obstack that is never freed.
> dwarf2out.c never frees any of the xstrduped stuff either.
>
> This brings compile-time memory usage of PR29433 with -O0 -g down from
> 3.9GB to 2.5GB which is about the same as for a -O0 compile. (See the
> C++ patch for PR29433 on how to bring this down to around 400MB).
>
> Bootstrapped on x86_64-unknown-linux-gnu, tests still running.
>
> Ok for mainline if they pass?
>
> Thanks,
> Richard.
>
> :ADDPATCH debug:
>
> 2006-11-30 Richard Guenther <rguenther@suse.de>
>
> PR c++/29433
> * dwarf2out.c (struct pubname_struct): Make name const.
> (add_pubtype): Do not xstrdup identifiers.
> else
> e.name = xstrdup ((const char *) get_AT_string (die, DW_AT_name));
What about the above, I noticed we will not free that. Or was that a
bug before anyways?
Thanks,
Andrew Pinski