[fpc-pascal] Candidate for crowd-funding

Jonas Maebe 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.


Jonas



More information about the fpc-pascal mailing list