[fpc-pascal] Candidate for crowd-funding
jonas at freepascal.org
Thu Dec 20 18:44:44 CET 2018
On 20/12/18 18:09, Martok wrote:
> Parameters are difficult because they either need something like extra temps *in
> memory* (like cdecl) or some extra registers need to be pushed/popped, which
> brings us back to the register allocator issue.
There's also the issue that to fully support inlining, you have to be
able to store the entire procedure body in the ppu file. And there is no
support to do this for assembler code at this time (the skeleton exists,
but that's it).
Regarding the used registers and parameters, I would still forbid
inlining for pure assembler routines, and only allow it for regular
procedures with assembler blocks. That way the compiler would have full
control over where the parameters and return value are stored etc. Doing
it for pure assembler routines creates a whole lot of extra problems
with potentially worse code quality in the end, because the compiler has
much less freedom.
More information about the fpc-pascal