This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Use chain_next on struct dw_loc_descr_node for GTY (PR debug/64511)
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 23 Jan 2015 10:37:04 +0100
- Subject: Re: [PATCH] Use chain_next on struct dw_loc_descr_node for GTY (PR debug/64511)
- Authentication-results: sourceware.org; auth=none
- References: <20150122203943 dot GL1746 at tucnak dot redhat dot com>
On Thu, Jan 22, 2015 at 9:39 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> Hi!
>
> The latest testcase from the PR ICEs on running out of stack during GC
> collection, because we have a long chain of dw_loc_descr_nodes.
> Am not adding the testcase to the testsuite because it looks too costly.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
Ok.
Thanks,
Richard.
> 2015-01-22 Jakub Jelinek <jakub@redhat.com>
>
> PR debug/64511
> * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
> GTY markup.
>
> --- gcc/dwarf2out.h.jj 2015-01-05 13:07:14.000000000 +0100
> +++ gcc/dwarf2out.h 2015-01-22 14:58:52.448204612 +0100
> @@ -205,7 +205,7 @@ struct GTY(()) dw_val_node {
> /* Locations in memory are described using a sequence of stack machine
> operations. */
>
> -struct GTY(()) dw_loc_descr_node {
> +struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node {
> dw_loc_descr_ref dw_loc_next;
> ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc : 8;
> /* Used to distinguish DW_OP_addr with a direct symbol relocation
>
> Jakub