REPL Output
;;; ASDF-INSTALL: Downloading 15507 bytes from http://members.optusnet.com.au/apicard/blowfish.tar.gz to /Users/gwking/temporary/asdf-test/BLOWFISH.asdf-install-tmp ...
;;; ASDF-INSTALL: Installing /Users/gwking/temporary/asdf-test/BLOWFISH.asdf-install-tmp in /Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/, /Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site-systems/
blowfish/
blowfish/blowfish.lisp
blowfish/blowfish.asd
#P"/Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/"
#P"/Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/"
; compiling file "/Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/blowfish.lisp" (written 06 MAR 2004 04:36:17 AM):
; compiling (DEFPACKAGE :BLOWFISH ...)
; compiling (IN-PACKAGE :BLOWFISH)
; compiling (DEFTYPE UNSIGNED-BYTE-32 ...)
; compiling (DEFTYPE BLOWFISH-ARRAY ...)
; compiling (DEFUN MAKE-BLOWFISH-ARRAY ...)
; compiling (DEFINE-COMPILER-MACRO MOD32-ADD ...)
; compiling (DEFINE-COMPILER-MACRO FAST-32BIT-XOR ...)
; compiling (DEFMACRO XORF ...)
; compiling (DECLAIM (INLINE SPLIT-64-BIT))
; compiling (DEFUN SPLIT-64-BIT ...)
; compiling (DECLAIM (INLINE JOIN-32-BIT))
; compiling (DEFUN JOIN-32-BIT ...)
; compiling (DEFUN STRING->KEY-VEC ...)
; compiling (DEFUN GET-32BIT-NUM ...)
; compiling (DEFUN SPLIT-NUMBER ...)
; compiling (DEFMACRO WITH-NUMERIC-FIELDS ...)
; compiling (DEFMACRO DEFCONSTANT* ...)
; compiling (DEFCONSTANT* +INITIAL-P-ARRAY+ ...)
; compiling (DEFCONSTANT* +INITIAL-S-BOX-0+ ...)
; compiling (DEFCONSTANT* +INITIAL-S-BOX-1+ ...)
; compiling (DEFCONSTANT* +INITIAL-S-BOX-2+ ...)
; compiling (DEFCONSTANT* +INITIAL-S-BOX-3+ ...)
; compiling (DEFSTRUCT (BLOWFISH-BUFFER #) ...)
; compiling (DEFSTRUCT (BLOWFISH-KEY #) ...)
; compiling (DEFUN BLOWFISH-ENCRYPT-STRING ...)
; compiling (DECLAIM (INLINE BLOWFISH-ENCRYPT))
; compiling (DEFUN BLOWFISH-ENCRYPT ...)
; compiling (DECLAIM (INLINE BLOWFISH-DECRYPT))
; compiling (DEFUN BLOWFISH-DECRYPT ...)
; compiling (DECLAIM (INLINE BLOWFISH-F))
; compiling (DEFUN BLOWFISH-F ...)
; file: /Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/blowfish.lisp
; in: DEFUN BLOWFISH-F
; (DEFUN BLOWFISH::BLOWFISH-F (BLOWFISH::NUM BLOWFISH::S-BOXES)
; "The blowfish F function.
;
; F(xL) = ( (S1,a + S2,b mod 2^32) XOR S3,c) + S4,d mod 2^32
; Where a,b,c,d are the 4 bytes of num. and Si are
; the 4 entries of the vector of s-boxes."
; (DECLARE (OPTIMIZE (SAFETY 0) (DEBUG 0) (SPEED 3)))
; (DECLARE (TYPE BLOWFISH::UNSIGNED-BYTE-32 BLOWFISH::NUM))
; (DECLARE (TYPE (SIMPLE-VECTOR 4) BLOWFISH::S-BOXES))
; (BLOWFISH::WITH-NUMERIC-FIELDS
; ((BLOWFISH::A BLOWFISH::B BLOWFISH::C BLOWFISH::D) BLOWFISH::NUM :SIZE 8)
; (DECLARE
; (TYPE UNSIGNED-BYTE BLOWFISH::A BLOWFISH::B BLOWFISH::C BLOWFISH::D))
; (MACROLET ((BLOWFISH::LOOKUP-SBOX #
; `#))
; (THE BLOWFISH::UNSIGNED-BYTE-32 (BLOWFISH::MOD32-ADD # #)))))
; --> PROGN EVAL-WHEN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA
; ==>
; #'(SB-INT:NAMED-LAMBDA BLOWFISH::BLOWFISH-F
; (BLOWFISH::NUM BLOWFISH::S-BOXES)
; (DECLARE (OPTIMIZE (SAFETY 0) (DEBUG 0) (SPEED 3)))
; (DECLARE
; (TYPE BLOWFISH::UNSIGNED-BYTE-32 BLOWFISH::NUM))
; (DECLARE (TYPE (SIMPLE-VECTOR 4) BLOWFISH::S-BOXES))
; (BLOCK BLOWFISH::BLOWFISH-F
; (BLOWFISH::WITH-NUMERIC-FIELDS
; ((BLOWFISH::A BLOWFISH::B BLOWFISH::C BLOWFISH::D)
; BLOWFISH::NUM :SIZE 8)
; (DECLARE
; (TYPE UNSIGNED-BYTE
; BLOWFISH::A
; BLOWFISH::B
; BLOWFISH::C
; BLOWFISH::D))
; (MACROLET (#)
; (THE BLOWFISH::UNSIGNED-BYTE-32 #)))))
;
; note: doing unsigned word to integer coercion (cost 20) to "<return value>"
; compiling (DEFUN BLOWFISH-ROUND ...)
; compiling (DEFUN BLOWFISH-FORWARD-ROUND ...)
; compiling (DEFUN BLOWFISH-REVERSE-ROUND ...)
; compiling (DEFUN INITIALIZE-BLOWFISH-BOXES ...)
; compiling (DEFUN MIX-VECTOR! ...)
; compiling (DEFUN MIX-P-ARRAY! ...)
; compiling (DEFUN MIX-S-BOXES! ...)
; compiling (DEFUN XOR-P-ARRAY-WITH-REPEATED-KEY! ...)
; file: /Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/blowfish.lisp
; in: DEFUN XOR-P-ARRAY-WITH-REPEATED-KEY!
; (BLOWFISH::XORF (AREF BLOWFISH::P-ARRAY BLOWFISH::I)
; (SVREF BLOWFISH::KEY-SEQ (MOD BLOWFISH::I BLOWFISH::LEN)))
; --> SETF SB-KERNEL:%ASET BLOWFISH::FAST-32BIT-XOR
; ==>
; (LOGXOR (AREF BLOWFISH::P-ARRAY BLOWFISH::I)
; (SVREF BLOWFISH::KEY-SEQ (MOD BLOWFISH::I BLOWFISH::LEN)))
;
; note: forced to do static-fun Two-arg-xor (cost 53)
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a (UNSIGNED-BYTE 32), not a FIXNUM.
; The second argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES (UNSIGNED-BYTE 32)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline (signed-byte 32) arithmetic (cost 3) because:
; The first argument is a (UNSIGNED-BYTE 32), not a (SIGNED-BYTE 32).
; The second argument is a INTEGER, not a (SIGNED-BYTE 32).
; The result is a (VALUES (UNSIGNED-BYTE 32)
; &OPTIONAL), not a (VALUES (SIGNED-BYTE 32)
; &REST
; T).
; etc.
;
; note: doing unsigned word to integer coercion (cost 20), for:
; the first argument of static-fun Two-arg-xor
; compiling (DEFUN MAKE-BLOWFISH-KEY ...)
; compiling (DEFUN TEST-INITIAL-BLOWFISH-ROUND ...)
; compiling (DEFPARAMETER *TEST-DATA* ...)
; compiling (DEFUN NUMBER->BLOWFISH-BUFFER ...)
; compiling (DEFUN TEST-VECTOR ...)
; compiling (DEFUN RUN-TEST-HARNESS ...)
; compiling (DEFUN TEST-SPEED ...)
; compiling (DEFMACRO WITH-BUFFER-CHUNKS ...)
; compiling (DEFUN BLOWFISH-ENCRYPT-STRING-CBC ...)
; compiling (DEFUN BLOWFISH-DECRYPT-STRING-CBC ...)
; compiling (DEFUN 32BIT-LIST->STRING ...)
; /Users/gwking/temporary/asdf-test/input/sbcl0-9-9/site/blowfish/blowfish.fasl written
; compilation finished in 0:00:05
STYLE-WARNING: redefining MAKE-BLOWFISH-ARRAY in DEFUN
;
; compilation unit aborted
; caught 1 fatal ERROR condition
; printed 3 notes
The constant BLOWFISH::+INITIAL-P-ARRAY+ is being redefined (from
#(608135816 2242054355 320440878 57701188 2752067618 698298832 137296536
3964562569 1160258022 953160567 3193202383 887688300 3232508343 3380367581
1065670069 3041331479 2450970073 2306472731)
to
#(608135816 2242054355 320440878 57701188 2752067618 698298832 137296536
3964562569 1160258022 953160567 3193202383 887688300 3232508343 3380367581
1065670069 3041331479 2450970073 2306472731))
See also:
The ANSI Standard, Macro DEFCONSTANT
The SBCL Manual, Node "Idiosyncrasies"