(constants `(def!constant ,size ,offset))
(exports size)))
(when alloc-trans
- (forms `(def-alloc ,alloc-trans ,offset ,variable-length-p ,widetag
- ,lowtag ',(inits))))
+ (forms `(def-alloc ,alloc-trans ,offset
+ ,(if variable-length-p :var-alloc :fixed-alloc)
+ ,widetag
+ ,lowtag ',(inits))))
`(progn
(eval-when (:compile-toplevel :load-toplevel :execute)
(%define-primitive-object
`(%def-reffer ',name ,offset ,lowtag))
(defmacro def-setter (name offset lowtag)
`(%def-setter ',name ,offset ,lowtag))
-(defmacro def-alloc (name words variable-length-p header lowtag inits)
- `(%def-alloc ',name ,words ,variable-length-p ,header ,lowtag ,inits))
+(defmacro def-alloc (name words alloc-style header lowtag inits)
+ `(%def-alloc ',name ,words ,alloc-style ,header ,lowtag ,inits))
#!+compare-and-swap-vops
(defmacro def-casser (name offset lowtag)
`(%def-casser ',name ,offset ,lowtag))
(in-package "SB!C")
;;; the maximum number of SCs in any implementation
-(def!constant sc-number-limit 32)
+(def!constant sc-number-limit 40)
\f
;;; Modular functions
(:untagged
(ecase signedp
((nil) *untagged-unsigned-modular-class*)
- (t *untagged-signed-modular-class*)))
+ ((t) *untagged-signed-modular-class*)))
(:tagged
(aver signedp)
*tagged-modular-class*)))
(check-type kind (member :untagged :tagged))
(check-type width unsigned-byte)
(dolist (arg lambda-list)
- (when (member arg lambda-list-keywords)
+ (when (member arg sb!xc:lambda-list-keywords)
(error "Lambda list keyword ~S is not supported for ~
modular function lambda lists." arg)))
`(progn
(defknown ,name ,(mapcar (constantly 'integer) lambda-list)
(,(ecase signedp
((nil) 'unsigned-byte)
- (t 'signed-byte))
+ ((t) 'signed-byte))
,width)
(foldable flushable movable)
:derive-type (make-modular-fun-type-deriver
(check-type name symbol)
(check-type kind (member :untagged :tagged))
(dolist (arg lambda-list)
- (when (member arg lambda-list-keywords)
+ (when (member arg sb!xc:lambda-list-keywords)
(error "Lambda list keyword ~S is not supported for ~
modular function lambda lists." arg)))
(with-unique-names (call args)