Am 09.11.2021 um 02:45 schrieb Ryan Joseph via fpc-pascal:

On Nov 8, 2021, at 11:20 PM, Sven Barth via fpc-pascal 
<fpc-pascal@lists.freepascal.org> wrote:

I don't know what you mean with "new function body". If a function is inlined 
its code is contained within the surrounding function and if it's not inlined then 
nothing changes.

I mean if in theory you were to inline that function variables code into the 
function it would need to generate a new function (I guess the name also, so 
the entire thing) because the function being passed in could change on per-call 
basis (like a normal generic function).
No, because the function that is called with a function pointer needs to be inlined itself (thus becoming part of its caller) so that constant propagation works at all for the parameters. If a function isn't inlined then there won't be any change and the passed in function variable will be called as usual.

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to