--- /dev/null
+USING: help.markup help.syntax math ;
+IN: cpu.architecture
+
+HELP: immediate-arithmetic?
+{ $values { "n" number } { "?" "a boolean" } }
+{ $description
+ "Can this value be an immediate operand for " { $link %add-imm } ", "
+ { $link %sub-imm } ", or " { $link %mul-imm } "?"
+} ;
+
+HELP: machine-registers
+{ $description "Mapping from register class to machine registers." } ;
+
+HELP: vm-stack-space
+{ $description "Parameter space to reserve in anything making VM calls." } ;
+
+HELP: complex-addressing?
+{ $description "Specifies if " { $link %slot } ", " { $link %set-slot } " and " { $link %write-barrier } " accept the 'scale' and 'tag' parameters, and if %load-memory and %store-memory work." } ;
M: longlong-2-rep scalar-rep-of drop longlong-scalar-rep ;
M: ulonglong-2-rep scalar-rep-of drop ulonglong-scalar-rep ;
-! Mapping from register class to machine registers
HOOK: machine-registers cpu ( -- assoc )
! Callbacks are not allowed to clobber this
HOOK: frame-reg cpu ( -- reg )
-! Parameter space to reserve in anything making VM calls
HOOK: vm-stack-space cpu ( -- n )
M: object vm-stack-space 0 ;
-! Specifies if %slot, %set-slot and %write-barrier accept the
-! 'scale' and 'tag' parameters, and if %load-memory and
-! %store-memory work
HOOK: complex-addressing? cpu ( -- ? )
HOOK: gc-root-offset cpu ( spill-slot -- n )
! and %load-vector?
HOOK: fused-unboxing? cpu ( -- ? )
-! Can this value be an immediate operand for %add-imm, %sub-imm,
-! or %mul-imm?
HOOK: immediate-arithmetic? cpu ( n -- ? )
! Can this value be an immediate operand for %and-imm, %or-imm,