(in-package "SB!ASSEM")
-(sb!int:file-comment
- "$Header$")
-
;;; FIXME: It might make sense to use SB!VM:BYTE-FOO values here
;;; instead of the various ASSEMBLY-UNIT-FOO things, and then define a
;;; BYTE type. One problem: BYTE is exported from the CL package, so
;;; sequence.)
;;; ASSEMBLY-UNIT-BITS -- the number of bits in the minimum assembly
-;;; unit, (also refered to as a ``byte''). Hopefully, different
+;;; unit, (also referred to as a ``byte''). Hopefully, different
;;; instruction sets won't require changing this.
-(defconstant assembly-unit-bits 8)
-(defconstant assembly-unit-mask (1- (ash 1 assembly-unit-bits)))
+(def!constant assembly-unit-bits 8)
+(def!constant assembly-unit-mask (1- (ash 1 assembly-unit-bits)))
-(deftype assembly-unit ()
+(def!type assembly-unit ()
`(unsigned-byte ,assembly-unit-bits))
;;; Some functions which accept assembly units can meaningfully accept
;;; signed values with the same number of bits and silently munge them
;;; into appropriate unsigned values. (This is handy behavior e.g.
;;; when assembling branch instructions on the X86.)
-(deftype possibly-signed-assembly-unit ()
+(def!type possibly-signed-assembly-unit ()
`(or assembly-unit
(signed-byte ,assembly-unit-bits)))
;;; the maximum alignment we can guarantee given the object format. If
;;; the loader only loads objects 8-byte aligned, we can't do any
;;; better then that ourselves.
-(defconstant max-alignment 3)
+(def!constant max-alignment sb!vm:n-lowtag-bits)
-(deftype alignment ()
+(def!type alignment ()
`(integer 0 ,max-alignment))