]> gitweb.factorcode.org Git - factor.git/commitdiff
arm64: implementing sub primitives
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 19 Mar 2021 14:27:35 +0000 (09:27 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 17 Jun 2022 22:17:37 +0000 (17:17 -0500)
basis/bootstrap/assembler/arm.64.factor

index e53d9be764eb85c964a9b8c9e4f8a7de41f8f9e5..db96aa17d8fdfa62f0de68e45fb02f99072c78d5 100644 (file)
@@ -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
 
 [