X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-macs.lisp;h=8789a96ca803d729aad8d24c8b9838bb01ca0408;hb=3254e1b6fb33e4ff5be5f37ba4bbcc34ca151cf7;hp=3bcb46c44998e96123fff009b999a949833acba9;hpb=4413876742e64de8a5925c98d1925ba9e5f75d8d;p=sbcl.git diff --git a/src/compiler/generic/vm-macs.lisp b/src/compiler/generic/vm-macs.lisp index 3bcb46c..8789a96 100644 --- a/src/compiler/generic/vm-macs.lisp +++ b/src/compiler/generic/vm-macs.lisp @@ -119,8 +119,10 @@ (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 @@ -141,8 +143,8 @@ `(%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)) @@ -160,7 +162,7 @@ (in-package "SB!C") ;;; the maximum number of SCs in any implementation -(def!constant sc-number-limit 32) +(def!constant sc-number-limit 40) ;;; Modular functions @@ -247,7 +249,7 @@ (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 @@ -276,7 +278,7 @@ (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)