From: Doug Coleman Date: Wed, 17 Mar 2021 03:54:09 +0000 (-0500) Subject: arm: 128 byte red zone X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=9a92e489c26e7a81660b4138ecd91596528629dd arm: 128 byte red zone --- diff --git a/basis/bootstrap/assembler/arm.64.factor b/basis/bootstrap/assembler/arm.64.factor index 93e1352060..0b1ff56bfc 100644 --- a/basis/bootstrap/assembler/arm.64.factor +++ b/basis/bootstrap/assembler/arm.64.factor @@ -50,16 +50,18 @@ big-endian off ! X8 Indirect result location register ! X9 - X15 Temporary registers ! X16 - X17 Intra-procedure call temporary -! X18 Platform register, otherwise temporary +! X18 Platform register, otherwise temporary, DONT USE ! X19 - X29 Callee-saved register Must preserve +! X29 - frame pointer register, must always be valid ! X30 Link Register Can Corrupt +! 16-byte stack alignment : arg1 ( -- reg ) X0 ; : arg2 ( -- reg ) X1 ; : arg3 ( -- reg ) X2 ; : arg4 ( -- reg ) X3 ; -: red-zone-size ( -- n ) 16 ; +: red-zone-size ( -- n ) 128 ; : shift-arg ( -- reg ) X1 ; : div-arg ( -- reg ) X0 ;