Peter Bex <pe...@more-magic.net> writes:

> Hi all,
>
> Attached is a relatively straightforward patch for #1665.  The unroll
> limit was causing the procedure calls to stay, and the compiler would
> replace those calls with a direct call, thinking the fid would be valid
> locally (but it isn't, because it was loaded from an external file).

Pushed. Thanks, Peter!

--- 

Is there any technical reason we couldn't call external functions
directly?

The implementation effort is obviously something different.

I noticed some time ago that gcc doesn't compile away a function if
either of these 2 is true:

- The function uses alloca

- The function's address is captured

So that covers pretty much every generated chicken function.

You can see the function listed in a object file with 'objdump -t
foo.o'. I'm assuming there wouldn't be an entry if the function was
compiled away.

Reply via email to