Looks like it is fixed already, so there is no need for this patch.

David

On Wed, Nov 9, 2011 at 12:36 AM, Richard Guenther
<richard.guent...@gmail.com> wrote:
> On Tue, Nov 8, 2011 at 6:10 PM, Xinliang David Li <davi...@google.com> wrote:
>> Here is the revised patch. Bootstrap and regression tested on linux/x86-64.
>>
>> Honza, can you comment on the implication of this change?
>
> Jason also seems to have touched this again, so maybe it's already
> fixed?
>
>> thanks,
>>
>> David
>>
>> On Mon, Nov 7, 2011 at 2:09 PM, Richard Guenther
>> <richard.guent...@gmail.com> wrote:
>>> On Mon, Nov 7, 2011 at 5:41 PM, Xinliang David Li <davi...@google.com> 
>>> wrote:
>>>> Here is the stack trace when the watch point is hit (the watch point
>>>> is on address &cleanups->base.prefix.num
>>>>
>>>> David
>>>>
>>>> #0  memset () at ../sysdeps/x86_64/memset.S:336
>>>> #1  0x0000000000d1528d in poison_pages () at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/ggc-page.c:1983
>>>> #2  0x0000000000d15424 in ggc_collect () at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/ggc-page.c:2076
>>>> #3  0x0000000001028d7f in cgraph_finalize_function
>>>> (decl=0x7ffff577d600, nested=0 '\000') at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cgraphunit.c:376
>>>
>>> Hm.  We already conditionally arrange for cgraph_finalize_function to not
>>> call ggc_collect - so it seems that doing so is even less safe than 
>>> originally
>>> thought.
>>>
>>> Which means I think we should push calling ggc_collect to the callers,
>>> which for the C++ frontend means ...
>>>
>>>> #4  0x0000000000988010 in expand_or_defer_fn (fn=0x7ffff577d600) at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/semantics.c:3797
>>>> #5  0x0000000000a678a7 in maybe_clone_body (fn=0x7ffff5770700) at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/optimize.c:426
>>>> #6  0x0000000000987aa3 in expand_or_defer_fn_1 (fn=0x7ffff5770700) at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/semantics.c:3722
>>>> #7  0x0000000000987fe0 in expand_or_defer_fn (fn=0x7ffff5770700) at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/semantics.c:3792
>>>> #8  0x000000000091c5f5 in synthesize_method (fndecl=0x7ffff5770700) at
>>>> /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/method.c:773
>>>> #9  0x0000000000551fa0 in cp_finish_decl (decl=0x7ffff5770700,
>>>> init=0x7ffff6d8f898, init_const_expr_p=0 '\000', asmspec_tree=0x0,
>>>> flags=11) at /usr/local/google/davidxl/dev/gcc/tot/gcc/cp/decl.c:6286
>>>
>>> ... probably here.  Though I'd also approve a patch that simply removes
>>> the ggc_collect call (and the nested parameter).  Honza - you probably
>>> added the ggc_collect - what's the reason to do it in this lowlevel place?
>>>
>>> Thanks,
>>> Richard.
>>>
>>
>

Reply via email to