Plaster

common-lisp
;;; internal: Output AMOUNT bytes to SEGMENT, either copies of ;;; PATTERN (if that is an integer), or by calling EMIT-LONG-NOP ;;; (if PATTERN is :LONG-NOP). (defun %emit-skip (segment amount &optional (pattern 0)) (declare (type segment segment) (type index amount)) (etypecase pattern (integer (dotimes (i amount) (emit-byte segment pattern))) ;; EMIT-LONG-NOP does not exist for most backends. ;; Better to get an ECASE error than undefined-function. #!+x86-64 ((eql :long-nop) (sb!vm:emit-long-nop segment amount))) (values))