This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Get rid of stack trampolines for nested functions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]