[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix #1665 by blocking direct calls to externally inlineable
Re: [PATCH] Fix #1665 by blocking direct calls to externally inlineable procedures
Wed, 12 Feb 2020 18:18:51 +0200
mu4e 1.0; emacs 25.1.1
Peter Bex <address@hidden> 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
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