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.