11 lines
405 B
Common Lisp
11 lines
405 B
Common Lisp
(in-package #:user-side-compiler)
|
|
|
|
(defgeneric bytesquash (object)
|
|
(:method ((object integer))
|
|
(typecase object
|
|
((unsigned-byte 8) (list object))
|
|
((unsigned-byte 16) (list (ldb (byte 8 0) object)
|
|
(ldb (byte 8 8) object)))
|
|
(t (error "Cannot bytesquash integers larger than 16-bit."))))
|
|
(:method ((object label))
|
|
(bytesquash (address object))))
|