From: Doug Coleman Date: Fri, 19 Mar 2021 14:27:35 +0000 (-0500) Subject: arm64: implementing sub primitives X-Git-Tag: 0.99~1368^2~6 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=28b3a4ce7728a96702b89a8849a115060f09314b arm64: implementing sub primitives --- diff --git a/basis/bootstrap/assembler/arm.64.factor b/basis/bootstrap/assembler/arm.64.factor index e53d9be764..db96aa17d8 100644 --- a/basis/bootstrap/assembler/arm.64.factor +++ b/basis/bootstrap/assembler/arm.64.factor @@ -79,11 +79,13 @@ big-endian off ! : pic-tail-reg ( -- reg ) RBX ; : return-reg ( -- reg ) X0 ; : stack-reg ( -- reg ) SP ; -! : link-reg ( -- reg ) R11 ; -! : ctx-reg ( -- reg ) R12 ; +! https://developer.arm.com/documentation/dui0801/a/Overview-of-AArch64-state/Link-registers +: link-reg ( -- reg ) X30 ; ! LR +! : stack-frame-reg ( -- reg ) X29 ; ! FP : vm-reg ( -- reg ) X28 ; : ds-reg ( -- reg ) X27 ; : rs-reg ( -- reg ) X26 ; +! : ctx-reg ( -- reg ) R12 ; ! : fixnum>slot@ ( -- ) temp0 1 SAR ; ! : rex-length ( -- n ) 1 ; @@ -578,8 +580,8 @@ big-endian off ] JIT-EXECUTE jit-define [ - ! stack-reg stack-frame-size bootstrap-cell - SUB - + ! stack-reg stack-framrcee-size bootstrap-cell - SUB + stack-frame-size bootstrap-cell - stack-reg stack-reg SUBi64 ] JIT-PROLOG jit-define [