This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
dev:crosscompiler:backend_arm:register_allocation [2019/08/29 16:02] – [Parameter Passing] ursgraf | dev:crosscompiler:backend_arm:register_allocation [2019/10/03 10:22] (current) – [Parameter Passing] ursgraf | ||
---|---|---|---|
Line 37: | Line 37: | ||
| D0 || D1 || D2 || D3 || D4 || D5 || | | D0 || D1 || D2 || D3 || D4 || D5 || | ||
| ^| ^^a| ^ b ^^c| ^ d ^^ | | ^| ^^a| ^ b ^^c| ^ d ^^ | ||
+ | |||
+ | If the parameters do not fit into the parameter register, they will be passed on the stack in a special parameter block. Note that the block is filled with parameters of type integer (offset increases with parameter number) first. After this parameters of type float and double are pushed into this block. Parameters of type float and double both occupy 8 bytes. | ||
===== Locals on the Stack ===== | ===== Locals on the Stack ===== |