Hi,
On 27 Oct 2016, at 20:32 , Stephen R. van den Berg srb@cuci.nl wrote:
Chris Angelico wrote:
Also, all variables in the frame referenced by the lambda will be kept around, even if just a single one is actually used in the lambda.
This, however, could be changed - it's a simple question of optimization, so it comes down to "is it worth it". There's no semantic change there, AFAIK.
I'd expect a good optimiser to spot this and to optimise accordingly.
I got bitten by trampoline garbage again and decided to give it a shot – pushed on branch marty/lambdaopt, and it seems to fix my test case (as in no more trampoline garbage). Would be great if someone with compiler insights could make a code review (and hopefully it can be merged to 8.1 eventually).
Btw: is 8.1 officially on C99 now? I’ve rarely seen line comments or inline variable declarations in commits, but maybe it’s just old habit. :-) )
/Marty