; in: DEFUN MAKE-RESULT-AND-RETURNS-GLUE ; (DEFUN MOVITZ::MAKE-RESULT-AND-RETURNS-GLUE ; (MOVITZ::DESIRED-RESULT MOVITZ::RETURNS-PROVIDED ; &OPTIONAL MOVITZ::CODE ; &KEY (TYPE T) MOVITZ::PROVIDER MOVITZ::REALLY-DESIRED) ; "Returns new-code and new-returns-provided, and glue-side-effects-p." ; (DECLARE (OPTIMIZE (DEBUG 3))) ; (CASE MOVITZ::RETURNS-PROVIDED ; (:NON-LOCAL-EXIT ; (RETURN-FROM MOVITZ::MAKE-RESULT-AND-RETURNS-GLUE ; (VALUES MOVITZ::CODE :NON-LOCAL-EXIT)))) ; (MULTIPLE-VALUE-BIND ; (MOVITZ::NEW-CODE MOVITZ::NEW-RETURNS-PROVIDED ; MOVITZ::GLUE-SIDE-EFFECTS-P) ; (CASE (MOVITZ::RESULT-MODE-TYPE MOVITZ::DESIRED-RESULT) ; ((:LEXICAL-BINDING) (CASE # # # #)) ; (:IGNORE (VALUES MOVITZ::CODE :NOTHING)) ; ((:BOOLEAN-ECX) ; (LET # ; #)) ; (:BOOLEAN-BRANCH-ON-TRUE (ETYPECASE # # # # # # # #)) ; (:BOOLEAN-BRANCH-ON-FALSE (ETYPECASE # # # # # # # #)) ; (:UNTAGGED-FIXNUM-ECX (CASE # # # # # #)) ; ((:SINGLE-VALUE :EAX) (COND # # #)) ; ((:EBX :ECX :EDX :ESP :ESI) (COND # # #)) ; (:PUSH (TYPECASE MOVITZ::RETURNS-PROVIDED # # # # #)) ; (:VALUES (CASE # # # #)) ; ...) ; (UNLESS MOVITZ::NEW-RETURNS-PROVIDED ; (MULTIPLE-VALUE-SETQ ; (MOVITZ::NEW-CODE MOVITZ::NEW-RETURNS-PROVIDED ; MOVITZ::GLUE-SIDE-EFFECTS-P) ; (ECASE # # # #))) ; (ASSERT MOVITZ::NEW-RETURNS-PROVIDED NIL ; "Don't know how to match desired-result ~S with returns-provided ~S~@[ from ~S~]." ; (OR MOVITZ::REALLY-DESIRED MOVITZ::DESIRED-RESULT) ; MOVITZ::RETURNS-PROVIDED MOVITZ::PROVIDER) ; (VALUES MOVITZ::NEW-CODE MOVITZ::NEW-RETURNS-PROVIDED ; MOVITZ::GLUE-SIDE-EFFECTS-P))) ; --> PROGN EVAL-WHEN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA ; ==> ; #'(SB-INT:NAMED-LAMBDA MOVITZ::MAKE-RESULT-AND-RETURNS-GLUE ; (MOVITZ::DESIRED-RESULT MOVITZ::RETURNS-PROVIDED ; &OPTIONAL MOVITZ::CODE &KEY (TYPE T) MOVITZ::PROVIDER ; MOVITZ::REALLY-DESIRED) ; (DECLARE (OPTIMIZE (DEBUG 3))) ; (BLOCK MOVITZ::MAKE-RESULT-AND-RETURNS-GLUE ; (CASE MOVITZ::RETURNS-PROVIDED ; (:NON-LOCAL-EXIT ; (RETURN-FROM MOVITZ::MAKE-RESULT-AND-RETURNS-GLUE ; #))) ; (MULTIPLE-VALUE-BIND ; (MOVITZ::NEW-CODE MOVITZ::NEW-RETURNS-PROVIDED ; MOVITZ::GLUE-SIDE-EFFECTS-P) ; (CASE ; (MOVITZ::RESULT-MODE-TYPE ; MOVITZ::DESIRED-RESULT) ; (# #) ; (:IGNORE #) ; (# #) ; (:BOOLEAN-BRANCH-ON-TRUE #) ; (:BOOLEAN-BRANCH-ON-FALSE #) ; (:UNTAGGED-FIXNUM-ECX #) ; (# #) ; (# #) ; (:PUSH #) ; (:VALUES #) ; ...) ; (UNLESS MOVITZ::NEW-RETURNS-PROVIDED ; (MULTIPLE-VALUE-SETQ # #)) ; (ASSERT MOVITZ::NEW-RETURNS-PROVIDED NIL ; "Don't know how to match desired-result ~S with returns-provided ~S~@[ from ~S~]." ; (OR MOVITZ::REALLY-DESIRED ; MOVITZ::DESIRED-RESULT) ; MOVITZ::RETURNS-PROVIDED MOVITZ::PROVIDER) ; (VALUES MOVITZ::NEW-CODE ; MOVITZ::NEW-RETURNS-PROVIDED ; MOVITZ::GLUE-SIDE-EFFECTS-P)))) ; ; caught STYLE-WARNING: ; &OPTIONAL and &KEY found in the same lambda list: (DESIRED-RESULT ; RETURNS-PROVIDED &OPTIONAL ; CODE &KEY (TYPE T) PROVIDER ; REALLY-DESIRED) Heap exhausted during garbage collection: 0 bytes available, 40 requested. Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age 0: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000 1: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000 2: 119904 119906 0 0 63284 18167 56 0 0 333053168 799504 65182768 0 1 1.0910 3: 131071 131064 8510 0 33940 9326 183 37 167 177591288 527368 2000000 1046 0 0.0296 4: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000 5: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000 6: 0 0 0 0 6077 0 0 0 0 24891392 0 2000000 5912 0 0.0000 Total bytes allocated=535535848 fatal error encountered in SBCL pid 5407(tid 3085334208): Heap exhausted, game over. LDB monitor ldb> ldb>