X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefstruct.lisp;fp=src%2Fcode%2Fdefstruct.lisp;h=aac8f2dc22761554f0d9b3b930c98983fc8f3677;hb=cccc20daac3d6d4e1086f387055aa0b6ff8f47d1;hp=07dd5b4711bb2838f575a4e431b0b56eacef7abe;hpb=880a863592743d82835e0fb4395301d6ab1f5127;p=sbcl.git diff --git a/src/code/defstruct.lisp b/src/code/defstruct.lisp index 07dd5b4..aac8f2d 100644 --- a/src/code/defstruct.lisp +++ b/src/code/defstruct.lisp @@ -310,6 +310,11 @@ :accessor-name '%raw-instance-ref/complex-long :init-vop 'sb!vm::raw-instance-init/complex-long :n-words #!+x86 6 #!+sparc 8))))) +(defun raw-slot-words (type) + (let ((rsd (find type *raw-slot-data-list* :key #'raw-slot-data-raw-type))) + (if rsd + (raw-slot-data-n-words rsd) + (error "Invalid raw slot type: ~S" type)))) ;;;; the legendary DEFSTRUCT macro itself (both CL:DEFSTRUCT and its ;;;; close personal friend SB!XC:DEFSTRUCT)