[fpc-devel] Registers allocation technique
Sergei Gorelkin
sergei_gorelkin at mail.ru
Wed Oct 1 10:25:05 CEST 2014
30.09.2014 23:34, Sven Barth пишет:
> On 30.09.2014 18:37, Lag Programming wrote:
>> 1) "Unless a function calls another function, the function result
>> register will always be in rax. Calling for inlined functions doesn't
>> change this behaviour as it's not a real function call."
>
> RAX will only then be used for the function result when it is really needed (e.g. the last
> assignment in a function).
To somewhat clarify: the reqirement is to place result into RAX at the function exit point. This is
unrelated to assignments to the 'result' variable in code.
> Before that the compiler might reuse RAX as it pleases.
Likewise, the value of 'result' may be placed into any register or even to memory.
Regards,
Sergei
More information about the fpc-devel
mailing list