On Fri, Apr 1, 2016 at 9:54 PM, Patrick Palka <patr...@parcs.ath.cx> wrote:
> On Fri, Apr 1, 2016 at 9:28 PM, Jason Merrill <ja...@redhat.com> wrote:
>> I like this approach a lot.  One thing, though:
>>
>> On 04/01/2016 03:13 PM, Patrick Palka wrote:
>>>
>>> +struct GTY((chain_next ("%h.prev"))) bpr_entry
>>> +{
>>> +  tree body;
>>> +  tree parms;
>>> +  tree res;
>>> +  struct bpr_entry *prev;
>>> +};
>>> +
>>>   /* Representation of entries in the constexpr function definition table.
>>> */
>>>
>>>   struct GTY((for_user)) constexpr_fundef {
>>>     tree decl;
>>>     tree body;
>>> +  /* A chain of unused copies of this function's body awaiting reuse for
>>> +     CALL_EXPR evaluation.  */
>>> +  struct bpr_entry *bpr_freelist;
>>>   };
>>
>>
>> The freelist should be discarded on GC.  I think the way to achieve that is
>> to put all the freelists into a separate deletable hash table rather than
>> hang them off the fundefs.
>>
>> Jason
>>
>
> Would instead marking the bpr_freelist field as GTY ((skip)) have the
> same effect?

Looks like not according to
https://gcc.gnu.org/onlinedocs/gccint/GTY-Options.html.  I should have
read that first :)

Reply via email to