,@body))
\f
;;;; error code
-
-(defvar *adjustable-vectors* nil)
-
-(defmacro with-adjustable-vector ((var) &rest body)
- `(let ((,var (or (pop *adjustable-vectors*)
- (make-array 16
- :element-type '(unsigned-byte 8)
- :fill-pointer 0
- :adjustable t))))
- (setf (fill-pointer ,var) 0)
- (unwind-protect
- (progn
- ,@body)
- (push ,var *adjustable-vectors*))))
-
(eval-when (:compile-toplevel :load-toplevel :execute)
(defun emit-error-break (vop kind code values)
(let ((vector (gensym)))
\f
;;;; memory accessor vop generators
-(deftype load/store-index (scale lowtag min-offset
- &optional (max-offset min-offset))
- `(integer ,(- (truncate (+ (ash 1 16)
- (* min-offset n-word-bytes)
- (- lowtag))
- scale))
- ,(truncate (- (+ (1- (ash 1 16)) lowtag)
- (* max-offset n-word-bytes))
- scale)))
-
(defmacro define-full-reffer (name type offset lowtag scs el-type
&optional translate)
`(progn
'((inst mskll value 4 value)))))))
(defmacro define-full-setter (name type offset lowtag scs el-type
- &optional translate #+gengc (remember t))
+ &optional translate #!+gengc (remember t))
`(progn
(define-vop (,name)
,@(when translate