[patch] Get rid of stack trampolines for nested functions

Jeff Law law@redhat.com
Mon Jul 25 15:39:00 GMT 2016


On 07/25/2016 06:56 AM, Eric Botcazou wrote:
>
>> Another UNITS_PER_WORD that I think ought to be
>> POINTER_SIZE/BITS_PER_UNIT.  Probably worth a pass over the patch to
>> look for this throughout.
>
> Yes, it was very likely enabled only on platforms with word-sized pointers.
That's what I suspected.  Thankfully it's not a huge patch and I didn't 
see anything else that would likely trip those oddballs that use 
something other than word size pointers.


>
>>> +ftrampolines
>>> +Common Report Var(flag_trampolines) Init(0)
>>> +Always generate trampolines for pointers to nested functions
>>
>> Even for targets that use procedure descriptors natively?  I'm not sure
>> what's the best choice for them -- I could argue either way on this issue.
>
> For targets that use procedure descriptors natively, it's a no-op because the
> entire patch is supposed to be a no-op for them.  I'm going to rephrase.
Ah, OK, it's just misleading docs.  I'll trust you to clean that up.

>>> Not real happy to see target stuff getting into tree-*.  Is this really
>> needed?
>
> It's the target hook mentioned earlier, e.g. for targets that use procedure
> descriptors natively we don't want to create generic descriptors but use the
> regular "degenerated" trampolines.
Makes sense.  I see this happening more and more and it makes me wonder 
if we want to make a hard line in the sand by splitting out the key bits 
necessary to allow these kinds hook calls, but not direct access to the 
rest of the target bits.  But that's outside the scope of this patch.

>
>> I think the biggest issues are the ABI concerns and getting the target
>> maintainers to take a looksie.  Everything else looks pretty good.
>
> Thanks for the review.
So i think with the various nits I pointed out the target independent 
stuff is good to go on the trunk.  Then you can just iterate with the 
target guys to get those wrapped up.

jeff



More information about the Gcc-patches mailing list