(FILECREATED "10-Oct-86 01:39:06" ("compiled on " {ERIS}SOURCES>D-ASSEM.;4) " 1-Oct-86 20:23:15" "COMPILE-FILEd" in "Xerox Lisp 1-Oct-86 ..." dated " 1-Oct-86 21:24:44") (FILECREATED "10-Oct-86 01:30:07" {ERIS}SOURCES>D-ASSEM.;4 93147 changes to: (FUNCTIONS STORE-DIGEST-INFO REF-VAR STORE-VAR INTERN-VAR STACK-ANALYZE STACK-ANALYZE-CODE) previous date: "10-Oct-86 00:42:21" {ERIS}SOURCES>D-ASSEM.;3) (RPAQQ D-ASSEMCOMS ((COMS (* ;; "Data structures and utilities") (STRUCTURES DCODE DJUMP DLAMBDA DTAG DVAR) (P (DEFPRINT (QUOTE DTAG) NIL)) (FUNCTIONS CREATE-HUNK TYPE-NAME-FROM-SIZE) (FUNCTIONS RELEASE-CIRCULARITIES)) (COMS (* ;; "Handy constants") (VARIABLES +IVAR-CODE+ +PVAR-CODE+ +FVAR-CODE+) (VARIABLES +LAMBDA-SPREAD+ +NLAMBDA-SPREAD+ +LAMBDA-NO-SPREAD+ +NLAMBDA-NO-SPREAD+) (VARIABLES +CONSTANT-OPCODES+)) (COMS (* ;; "Opcode generation") (VARIABLES *BYTES* *BYTE-COUNT*) (FUNCTIONS START-BYTES EMIT-BYTE EMIT-BYTE-LIST END-BYTES) (FUNCTIONS CHOOSE-OP REF-VAR STORE-VAR MAX-ARG PUSH-INTEGER)) (COMS (* ;; "Main driving") (VARIABLES *DTAG-ENV* *DVAR-ENV* *HUNK-MAP* *DCODE* *LEVEL* ) (FUNCTIONS ASSEMBLE-FUNCTION DCODE-FROM-DLAMBDA DLAMBDA-FROM-LAMBDA)) (COMS (* ;; "Digesting the function") (VARIABLES *HUNK-SIZE* *PVAR-COUNT* *FREE-VARS* *BOUND-SPECIALS*) (FUNCTIONS DIGEST-FUNCTION DIGEST-CODE STORE-DIGEST-INFO) (FUNCTIONS DVAR-FROM-LAP-VAR LAP-VAR-ID INSTALL-LOCAL INSTALL-VAR INTERN-VAR INTERN-TAG)) (COMS (* ;; "Function entry code") (FUNCTIONS EASY-ENTRY-P GENERATE-EASY-ENTRY) (FUNCTIONS GENERATE-HARD-ENTRY GENERATE-ARG-CHECK GENERATE-KEY GENERATE-OPT-AND-REST)) (COMS (* ;; "Stack analysis") (VARIABLES *ENDING-DEPTH* *STACK-NOTES*) ( FUNCTIONS STACK-ANALYZE STACK-ANALYZE-CODE)) (COMS (* ;; "The guts of assembly") (FUNCTIONS ASSEMBLE ASSEMBLE-CODE)) (COMS (* ;; "Jump resolution") (VARIABLES *JUMP-LIST*) (VARIABLES +JUMP-CHOICES+ +JUMP-RANGE-SIZE-MAP+ +JUMP-SIZES+) (FUNCTIONS RESOLVE-JUMPS REDUCE-UNCERTAINTY SPLICE-IN-JUMPS COMPUTE-JUMP-SIZE) (COMS (* ; "Debugging jump resolution") (FUNCTIONS PRETTY-JUMPS))) (COMS (* ;; "Conversion to binary") (FUNCTIONS CONVERT-TO-BINARY)) (COMS (* ;; "Setting up the debugging information") (FUNCTIONS COMPUTE-DEBUGGING-INFO)) (COMS (* ;; "Fixup resolution and DCODE interning") (FUNCTIONS ALLOCATE-CODE-BLOCK FIXUP-PTR FIXUP-WORD INTERN-DCODE)) (PROP FILETYPE D-ASSEM) (DECLARE: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) LLBASIC LLCODE LLGC MODARITH)))) DCODE-CLOSURE-P D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-CLOSURE-P D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-CLOSURE-P) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-CLOSURE-P SETF-INVERSE setf-DCODE-CLOSURE-P) DCODE-TYPE-FIXUPS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-TYPE-FIXUPS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-TYPE-FIXUPS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-TYPE-FIXUPS SETF-INVERSE setf-DCODE-TYPE-FIXUPS) DCODE-LIT-FIXUPS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-LIT-FIXUPS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-LIT-FIXUPS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-LIT-FIXUPS SETF-INVERSE setf-DCODE-LIT-FIXUPS) DCODE-SYM-FIXUPS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-SYM-FIXUPS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-SYM-FIXUPS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-SYM-FIXUPS SETF-INVERSE setf-DCODE-SYM-FIXUPS) DCODE-FN-FIXUPS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-FN-FIXUPS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-FN-FIXUPS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-FN-FIXUPS SETF-INVERSE setf-DCODE-FN-FIXUPS) DCODE-CODE-ARRAY D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-CODE-ARRAY D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-CODE-ARRAY) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-CODE-ARRAY SETF-INVERSE setf-DCODE-CODE-ARRAY) DCODE-DEBUGGING-INFO D1 (L (0 OBJECT)) @ NIL (3 DCODE) () setf-DCODE-DEBUGGING-INFO D1 (L (1 VALUE 0 OBJECT)) @A ANIL (3 DCODE) () (REMPROP (QUOTE DCODE-DEBUGGING-INFO) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-DEBUGGING-INFO SETF-INVERSE setf-DCODE-DEBUGGING-INFO) DCODE-NAME-TABLE D1 (L (0 OBJECT)) @ NIL (3 DCODE) () setf-DCODE-NAME-TABLE D1 (L (1 VALUE 0 OBJECT)) @A ANIL (3 DCODE) () (REMPROP (QUOTE DCODE-NAME-TABLE) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-NAME-TABLE SETF-INVERSE setf-DCODE-NAME-TABLE) DCODE-NUM-ARGS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-NUM-ARGS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-NUM-ARGS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-NUM-ARGS SETF-INVERSE setf-DCODE-NUM-ARGS) DCODE-ARG-TYPE D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-ARG-TYPE D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-ARG-TYPE) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-ARG-TYPE SETF-INVERSE setf-DCODE-ARG-TYPE) DCODE-NFREEVARS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-NFREEVARS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-NFREEVARS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-NFREEVARS SETF-INVERSE setf-DCODE-NFREEVARS) DCODE-NLOCALS D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-NLOCALS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-NLOCALS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-NLOCALS SETF-INVERSE setf-DCODE-NLOCALS) DCODE-FRAME-NAME D1 (L (0 OBJECT)) @NIL (3 DCODE) () setf-DCODE-FRAME-NAME D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DCODE) () (REMPROP (QUOTE DCODE-FRAME-NAME) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DCODE-FRAME-NAME SETF-INVERSE setf-DCODE-FRAME-NAME) DCODE-P D1 (L (0 OBJECT)) @NIL (3 DCODE) () COPY-DCODE D1 (L (0 OBJECT)) `@ (6 NCREATE2) (2 DCODETYPE#) () (DEFPRINT (QUOTE DCODE) (FUNCTION \DEFPRINT.DEFSTRUCT.DEFAULT)) MAKE-DCODE D1 (L (0 -args-)) &eHkJdIio`%HkKdJcjHkNdMij_Hk__OdOgh_Hk__OdOhj_Hk__OdOih_ Hk_$_"O$dO"jh_&Hk_*_(O*dO(kh_,Hk_0_.O0dO.lh_2Hk_6_4O6dO4mh_8Hk_<_:OHk_B_@OBdO@oh_DHk_H_FOHdOFph_J`dIdLdOdOdOdO  dO& dO,dO2dO8dO>dODdOJagJkaJlZagKkaKl[agNkaNl^agOkaOl_agOkaOl_~agOkaOl_}agO$kaO$l_$|agO*kaO*l_*{agO0kaO0l_0zagO6kaO6l_6yagOO$l_$*NIL (515Q :SIZE-UNCERTAINTY 465Q :FORWARD-P 435Q :MIN-SIZE 405Q :MIN-PC 360Q :PTR 333Q :TAG 306Q :KIND 230Q DJUMPTYPE#) () (PUTPROP (QUOTE DJUMP) (QUOTE STRUCTURE-CONSTRUCTOR) (QUOTE MAKE-DJUMP)) (PUTPROP (QUOTE DJUMP) (QUOTE %%STRUCTURE-CLASS) (QUOTE STRUCTURE-CLASS)) (PUTPROP (QUOTE DJUMP) (QUOTE %%SLOT-DESCRIPTIONS) (QUOTE (KIND TAG PTR MIN-PC MIN-SIZE FORWARD-P SIZE-UNCERTAINTY))) (PUTPROP (QUOTE DJUMP) (QUOTE %%LOCAL-SLOT-NAMES) (QUOTE (SIZE-UNCERTAINTY FORWARD-P MIN-SIZE MIN-PC PTR TAG KIND))) (/DECLAREDATATYPE (QUOTE DJUMP) (QUOTE (POINTER POINTER POINTER POINTER POINTER POINTER POINTER)) ( QUOTE ((DJUMP 0 POINTER) (DJUMP 2 POINTER) (DJUMP 4 POINTER) (DJUMP 6 POINTER) (DJUMP 8 POINTER) ( DJUMP 10 POINTER) (DJUMP 12 POINTER))) (QUOTE 14)) DLAMBDA-BODY D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-BODY D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-BODY) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-BODY SETF-INVERSE setf-DLAMBDA-BODY) DLAMBDA-NON-LOCAL D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-NON-LOCAL D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-NON-LOCAL) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-NON-LOCAL SETF-INVERSE setf-DLAMBDA-NON-LOCAL) DLAMBDA-CLOSED-OVER D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-CLOSED-OVER D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-CLOSED-OVER) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-CLOSED-OVER SETF-INVERSE setf-DLAMBDA-CLOSED-OVER) DLAMBDA-BLIP D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-BLIP D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-BLIP) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-BLIP SETF-INVERSE setf-DLAMBDA-BLIP) DLAMBDA-NAME D1 (L (0 OBJECT)) @ NIL (3 DLAMBDA) () setf-DLAMBDA-NAME D1 (L (1 VALUE 0 OBJECT)) @A ANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-NAME) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-NAME SETF-INVERSE setf-DLAMBDA-NAME) DLAMBDA-OTHERS D1 (L (0 OBJECT)) @ NIL (3 DLAMBDA) () setf-DLAMBDA-OTHERS D1 (L (1 VALUE 0 OBJECT)) @A ANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-OTHERS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-OTHERS SETF-INVERSE setf-DLAMBDA-OTHERS) DLAMBDA-ALLOW-OTHER-KEYS D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-ALLOW-OTHER-KEYS D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-ALLOW-OTHER-KEYS) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-ALLOW-OTHER-KEYS SETF-INVERSE setf-DLAMBDA-ALLOW-OTHER-KEYS) DLAMBDA-KEY D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-KEY D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-KEY) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-KEY SETF-INVERSE setf-DLAMBDA-KEY) DLAMBDA-REST D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-REST D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-REST) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-REST SETF-INVERSE setf-DLAMBDA-REST) DLAMBDA-OPTIONAL D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-OPTIONAL D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-OPTIONAL) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-OPTIONAL SETF-INVERSE setf-DLAMBDA-OPTIONAL) DLAMBDA-REQUIRED D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () setf-DLAMBDA-REQUIRED D1 (L (1 VALUE 0 OBJECT)) @AANIL (3 DLAMBDA) () (REMPROP (QUOTE DLAMBDA-REQUIRED) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS DLAMBDA-REQUIRED SETF-INVERSE setf-DLAMBDA-REQUIRED) DLAMBDA-P D1 (L (0 OBJECT)) @NIL (3 DLAMBDA) () COPY-DLAMBDA D1 (L (0 OBJECT)) `@ (6 NCREATE2) (2 DLAMBDATYPE#) () (DEFPRINT (QUOTE DLAMBDA) (FUNCTION \DEFPRINT.DEFSTRUCT.DEFAULT)) %%internal-make-DLAMBDA D1 (L (0 -args-)) 7 eHkJdI)hHkKdJ)hHkNdM/h_Hk__OdO-h_Hk__OdO.h_Hk__OdO/h_ Hk_$_"O$dO"0h_&Hk_*_(O*dO(1h_,Hk_0_.O0dO.2h_2Hk_6_4O6dO43h_8Hk_<_:O`dIdLdOdOdOdO  dO& dO,dO2dO8dO>agJkaJlZagKkaKl[agNkaNl^agOkaOl_agOkaOl_agOkaOl_agO$kaO$l_$agO*kaO*l_*agO0kaO0l_0agO6kaO6l_6agO O0g#O0gO0gO0gO0dgO2_  _O OgW>kW>jkj0O2Yd_(_&WB_$gggO6gO4gO( _"O&O$O" O6k_6_8O:hiO8h_eka!lHjlaWdhhIj M[KKJ o (72Q ASSERT-FAIL 62Q VALUES 56Q %%= 42Q STACK-ANALYZE-CODE) NIL ( 67Q "Code doesn't leave stack empty!") (LET* ((A0333 (QUOTE STACK-ANALYZE)) (A0334 (QUOTE CL:FUNCTION)) (A0335 "Walk the given code annotating the tags in it with information about the stack and binding depth of control at that point." )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0333 A0334 A0335))) A0335)) STACK-ANALYZE-CODE D1 (L (2 INIT-BINDING-DEPTH 1 INIT-DEPTH 0 CODE) P 14Q *ENDING-DEPTH* P 13Q *LEVEL* F 15Q *LEVEL* F 16Q *STACK-NOTES* F 17Q *ENDING-DEPTH*)  AB @^WW _OCh@_]dgWO 9OIH WO oO oO IHO hgO HI hMgMdgHkոO HI gMdgO HI HkXgMgMgMgMdgHkXYgRMgIMdgHkX9gOHWc&MgMdgOOW \o OLKJIhiIHhihiIYOgHkXg1HO ոOHIHkO ll XMgMdg0OI:hio IIOg`HkXYgHOkXHMdghg,Wk OhW OHI OX<oMo NiOO_H_OdOo (1201Q ASSERT-FAIL 1140Q VALUES 1124Q ECASE-FAIL 1071Q STACK-ANALYZE-CODE 746Q CL:ERROR 674Q MAX 671Q CL:FLOOR 661Q CL:LENGTH 632Q CL:LENGTH 522Q CL:ERROR 511Q CL:ASSOC 316Q STACK-ANALYZE-CODE 311Q DTAG-PTR 261Q STACK-ANALYZE-CODE 254Q DTAG-PTR 220Q STACK-ANALYZE-CODE 213Q DTAG-PTR 175Q VALUES 170Q CL:EQUAL 165Q DTAG-STACK-DEPTH 152Q ASSERT-FAIL 135Q ASSERT-FAIL 117Q VALUES 113Q %%= 110Q DTAG-LEVEL 76Q setf-DTAG-STACK-DEPTH 62Q DTAG-STACK-DEPTH 20Q CL:ASSOC) (1033Q CLOSE 1023Q RETURN 1000Q FN 764Q UNBIND 714Q DUNBIND 705Q UNBIND 617Q BIND 600Q SET-STACK 474Q DSET-STACK 465Q SET-STACK 441Q NOTE-STACK 424Q POP 412Q SWAP 401Q VAR_ 364Q PUSH-TAG 355Q LAMBDA 347Q CONST 340Q COPY 331Q VAR 276Q NTJUMP 267Q NFJUMP 235Q TJUMP 226Q FJUMP 202Q JUMP 47Q TAG) ( 1176Q "Ran off end twice" 1121Q (TAG JUMP FJUMP TJUMP NFJUMP NTJUMP VAR COPY CONST LAMBDA PUSH-TAG VAR_ SWAP POP NOTE-STACK SET-STACK DSET-STACK BIND UNBIND DUNBIND FN RETURN CLOSE) 1114Q (CAR INST) 743Q "Mismatched BIND and UNBIND." 517Q "NOTE-STACK not seen before SET-STACK" 143Q "Inconsistent stack depths at tag ~S" 126Q "Inconsistent level at tag ~S") (LET* ((A0336 (QUOTE STACK-ANALYZE-CODE)) (A0337 (QUOTE CL:FUNCTION)) (A0338 "Annotate the tags in CODE with the stack and binding depth at those points in execution, assuming that the stack depth is INIT-DEPTH and the binding depth is as in INIT-BINDING-DEPTH on entry to the code." )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0336 A0337 A0338))) A0338)) ASSEMBLE D1 (L (0 LAP-CODE)) @j (4 ASSEMBLE-CODE) NIL () ASSEMBLE-CODEA0001 D1 (L (2 STARTING-SLOT 1 NUM-NILS 0 NUM-VALUES) F 0 A0517 F 1 DEPTH) M@lo@ Al@lBlPjAlB@llPgA@B@Akh Qdkc(103Q EMIT-BYTE-LIST 14Q CL:ERROR) (56Q BIND) ( 10Q "Too many values bound in a BIND: ~S") ASSEMBLE-CODE D1 (L (2 BINDING-DEPTH 0 LAP-CODE) P 40Q *HUNK-MAP* P 37Q *LEVEL* P 36Q A0517 I 1 DEPTH F 41Q *HUNK-MAP* F 42Q *LEVEL*) }!@Hd hY_4dgI ANAkbEg$IHgHAAkbi O4dgg AAkbgg O4dgPI[o ZhiJ )Kdlgg3 K ggKhh AAkbgI_ ggkOhhW!O6aO8_WB h\oh__OgogggOOhgjoN o  AAkb _:O8O:O8O:_8O6_6]OhiMiL{O4dgg AAkbgO4gO4dgI_ABgdIhIgkjh BhitBOhihibBBbIggg_Bhi$BOhihiO BBbbAO_j:DOk:Ogo-g (OggOkgOkhgOh OgAAkbgTg_IWB IAB oO4o HX(2564Q ECASE-FAIL 2544Q ASSEMBLE-CODE 2506Q CREATE-HUNK 2472Q CL:LENGTH 2454Q EMIT-BYTE 2417Q CL:ERROR 2405Q EMIT-BYTE-LIST 2363Q EMIT-BYTE 2347Q EMIT-BYTE-LIST 2241Q CL:MAPCAR 2233Q SYMBOL-FUNCTION 2223Q %%= 2145Q ASSERT-FAIL 2127Q CL:ERROR 2070Q VALUES 1765Q EMIT-BYTE 1674Q EMIT-BYTE-LIST 1671Q PUSH-INTEGER 1666Q DTAG-PC 1641Q CL:MAPCAR 1633Q SYMBOL-FUNCTION 1617Q DTAG-STACK-DEPTH 1610Q EMIT-BYTE 1513Q EMIT-BYTE 1465Q CL:FLOOR 1422Q DVAR-SLOT 1414Q DVAR-SLOT 1337Q CL:LENGTH 1323Q CL:LENGTH 1244Q EMIT-BYTE-LIST 1174Q EMIT-BYTE 1114Q EMIT-BYTE 772Q EMIT-BYTE-LIST 655Q EMIT-BYTE 556Q DVAR-LEVEL 553Q DVAR-FROM-LAP-VAR 531Q EMIT-BYTE-LIST 517Q \APPEND2 510Q CHOOSE-OP 423Q CL:REVERSE 355Q DLAMBDA-NON-LOCAL 317Q EMIT-BYTE-LIST 276Q PUSH-INTEGER 246Q EMIT-BYTE 233Q CL:ASSOC 203Q EMIT-BYTE 152Q EMIT-BYTE 127Q EMIT-BYTE-LIST 124Q STORE-VAR 44Q EMIT-BYTE-LIST 41Q REF-VAR 13Q ENDP) (2461Q CLOSE 2451Q RETURN 2443Q RETURN 2375Q :OPCODES 2353Q FN 2337Q FNX 2230Q EMIT-BYTE 2047Q DOPVAL 2006Q FN 1755Q NFJUMP 1745Q NTJUMP 1735Q FJUMP 1725Q TJUMP 1715Q JUMP 1654Q PUSH-TAG 1630Q CDR 1577Q TAG 1571Q TAG 1544Q UNBIND 1441Q DUNBIND 1431Q UNBIND 1310Q ASSEMBLE-CODEA0001 1277Q BIND 1252Q UNBIND 1234Q POP.N 1220Q POP.N 1211Q STORE.N 1203Q UNBIND 1171Q POP 1156Q UNBIND 1055Q DUNBIND 1051Q UNBIND 1044Q SET-STACK 756Q SET-STACK 742Q UNWIND 720Q DSET-STACK 710Q SET-STACK 676Q NOTE-STACK 652Q POP 643Q POP 477Q RPLPTR.N 464Q LAMBDA 461Q GCONST 456Q CREATECELL 447Q SICX 365Q LAMBDA 362Q GCONST 340Q LAMBDA 305Q LIT 302Q GCONST 266Q SYM 263Q ACONST 214Q CONST 200Q SWAP 173Q SWAP 147Q COPY 140Q COPY 102Q POP 65Q VAR_ 27Q VAR) ( 2561Q (VAR VAR_ COPY SWAP CONST LAMBDA POP NOTE-STACK SET-STACK DSET-STACK BIND UNBIND DUNBIND TAG PUSH-TAG JUMP TJUMP FJUMP NTJUMP NFJUMP FN RETURN CLOSE) 2553Q (CAR INST) 2412Q "BUG: Weird argument to FN: ~S" 2333Q (FN4) 2317Q (FN3) 2305Q (FN2) 2267Q (FN1) 2256Q (FN0) 2136Q "DOPVAL for ~S is not a list: ~S" 2120Q "Illegal number of arguments to ~S: ~S" 1164Q (SWAP POP) 514Q (RPLPTR.N 2) 504Q (PVAR . PVARX) 453Q (TYPE COMPILED-CLOSURE) 230Q ((0 . '0) (1 . '1) (NIL . 'NIL) (T . 'T))) (PROCLAIM (QUOTE (SPECIAL *JUMP-LIST*))) (OR (BOUNDP (QUOTE *JUMP-LIST*)) (SETQ *JUMP-LIST* NIL)) (LET* ((A0340 (QUOTE *JUMP-LIST*)) (A0341 (QUOTE VARIABLE)) (A0342 "A list of DJUMP and DTAG structures for use by jump resolution.")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0340 A0341 A0342))) A0342)) (SETQ +JUMP-CHOICES+ (QUOTE ((JUMP JUMPX JUMPXX) (FJUMP FJUMPX (TJUMP 2)) (TJUMP TJUMPX (FJUMP 2)) ( NFJUMP NFJUMPX) (NTJUMP NTJUMPX)))) (PUTHASH (QUOTE +JUMP-CHOICES+) (QUOTE (CONSTANT +JUMP-CHOICES+)) COMPVARMACROHASH) (LET* ((A0343 (QUOTE +JUMP-CHOICES+)) (A0344 (QUOTE VARIABLE)) (A0345 "AList from kinds of jumps to lists of choices for implementation of that kind of jump. See SPLICE-IN-JUMPS for details." )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0343 A0344 A0345))) A0345)) (SETQ +JUMP-RANGE-SIZE-MAP+ (QUOTE ((JUMP (-128 . 3) (2 . 2) (18 . 1) (128 . 2) (32768 . 3)) (FJUMP ( -128 . 4) (2 . 2) (18 . 1) (128 . 2) (32768 . 4)) (TJUMP (-128 . 4) (2 . 2) (18 . 1) (128 . 2) (32768 . 4)) (NFJUMP (-128 . 6) (128 . 2) (32768 . 6)) (NTJUMP (-128 . 6) (128 . 2) (32768 . 6))))) (PUTHASH (QUOTE +JUMP-RANGE-SIZE-MAP+) (QUOTE (CONSTANT +JUMP-RANGE-SIZE-MAP+)) COMPVARMACROHASH) (LET* ((A0346 (QUOTE +JUMP-RANGE-SIZE-MAP+)) (A0347 (QUOTE VARIABLE)) (A0348 "An AList mapping kinds of jumps into an range-to-size table. The table is a list of pairs, sorted on the CAR. The shortest jump for a given distance is the CDR of the first pair whose CAR is strictly greater than the distance." )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0346 A0347 A0348))) A0348)) (SETQ +JUMP-SIZES+ (QUOTE ((JUMP 1 3) (FJUMP 1 4) (TJUMP 1 4) (NFJUMP 2 6) (NTJUMP 2 6)))) (PUTHASH (QUOTE +JUMP-SIZES+) (QUOTE (CONSTANT +JUMP-SIZES+)) COMPVARMACROHASH) (LET* ((A0349 (QUOTE +JUMP-SIZES+)) (A0350 (QUOTE VARIABLE)) (A0351 "AList mapping kinds of jumps into the range of sizes for that kind, in bytes.")) (PROGN (COND (( FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0349 A0350 A0351))) A0351)) RESOLVE-JUMPS D1 (L (0 JUMP-LIST)) w@j2H @ `h^Z\dJI G7J o Jd J JK IJKK YgLo HXi@ (164Q SPLICE-IN-JUMPS 147Q CHECK-TYPE-FAIL 131Q setf-DJUMP-SIZE-UNCERTAINTY 113Q setf-DJUMP-MIN-SIZE 103Q setf-DJUMP-FORWARD-P 77Q DJUMP-MIN-PC 73Q DTAG-MIN-PC 70Q DJUMP-TAG 62Q CL:ASSOC 53Q DJUMP-KIND 40Q setf-DTAG-PC-UNCERTAINTY 15Q REDUCE-UNCERTAINTY) (137Q JUMP-OR-TAG 45Q DJUMP 31Q DTAG) ( 144Q (OR DTAG DJUMP) 57Q ((JUMP 1 3) (FJUMP 1 4) (TJUMP 1 4) (NFJUMP 2 6) (NTJUMP 2 6))) REDUCE-UNCERTAINTY D1 (L (0 JUMP-LIST)) =jdds @ d__dOJ O\ IԻLK O^ IԽNM O jO O OCO O O I_O HJ԰O O _O JO_OO _OO _ OO IOO ԹOO O O_O O hi#jOhi!HO OԸOO JOZo gOo J H hi(466Q CL:ZEROP 461Q CL:ZEROP 444Q CHECK-TYPE-FAIL 425Q ASSERT-FAIL 405Q setf-DJUMP-SIZE-UNCERTAINTY 371Q DJUMP-SIZE-UNCERTAINTY 362Q VALUES 337Q %%= 332Q DJUMP-SIZE-UNCERTAINTY 314Q setf-DJUMP-MIN-SIZE 302Q DJUMP-MIN-SIZE 267Q DJUMP-MIN-SIZE 255Q COMPUTE-JUMP-SIZE 243Q COMPUTE-JUMP-SIZE 224Q DTAG-PC-UNCERTAINTY 213Q DJUMP-MIN-PC 206Q DTAG-MIN-PC 174Q DTAG-PC-UNCERTAINTY 161Q DJUMP-MIN-PC 154Q DTAG-MIN-PC 145Q DJUMP-FORWARD-P 133Q DJUMP-KIND 126Q DJUMP-TAG 113Q DJUMP-SIZE-UNCERTAINTY 105Q setf-DJUMP-MIN-PC 75Q DJUMP-MIN-PC 53Q setf-DTAG-MIN-PC 43Q DTAG-MIN-PC 34Q setf-DTAG-PC-UNCERTAINTY) (433Q JUMP-OR-TAG 61Q DJUMP 23Q DTAG) ( 441Q (OR DTAG DJUMP) 422Q "The size uncertainty went negative") SPLICE-IN-JUMPS D1 (L (0 JUMP-LIST)) @daHd Hd H H սH \M Lo KYdk:NLMlhl:"NJjMMnԀMN OOO|Il:Idl:2Kl NJNJgNNNMlMlN?l:/NJlogMlMllN OOOgIo  h(360Q ECASE-FAIL 212Q %%= 75Q CL:ASSOC 64Q COMPUTE-JUMP-SIZE 57Q DJUMP-KIND 51Q DJUMP-MIN-PC 45Q DTAG-MIN-PC 42Q DJUMP-TAG 35Q DJUMP-PTR 27Q setf-DTAG-PC 24Q DTAG-MIN-PC 15Q DTAG-P) (350Q SIZE 305Q JUMPXX 232Q JUMPXX) ( 355Q (1 2 3 4 6) 302Q (JUMP 4) 72Q ((JUMP JUMPX JUMPXX) (FJUMP FJUMPX (TJUMP 2)) (TJUMP TJUMPX (FJUMP 2)) (NFJUMP NFJUMPX) (NTJUMP NTJUMPX))) COMPUTE-JUMP-SIZE D1 (L (1 DISTANCE 0 KIND)) %@o HAIIIHX(7 CL:ASSOC) NIL ( 4 ((JUMP (-200Q . 3) (2 . 2) (22Q . 1) (200Q . 2) (100000Q . 3)) (FJUMP (-200Q . 4) (2 . 2) (22Q . 1) (200Q . 2) (100000Q . 4)) (TJUMP (-200Q . 4) (2 . 2) (22Q . 1) (200Q . 2) (100000Q . 4)) (NFJUMP (-200Q . 6) (200Q . 2) (100000Q . 6)) (NTJUMP (-200Q . 6) (200Q . 2) (100000Q . 6)))) PRETTY-JUMPS D1 (F 5 *JUMP-LIST*) PU d\[dggL gL hO?L gL gL gL gL ggL hhgKo IhiHhZIH&zJ(172Q CHECK-TYPE-FAIL 137Q DTAG-MIN-PC 134Q DJUMP-TAG 122Q DJUMP-SIZE-UNCERTAINTY 113Q DJUMP-FORWARD-P 104Q DJUMP-MIN-SIZE 75Q DJUMP-MIN-PC 66Q DJUMP-KIND 45Q DTAG-PC-UNCERTAINTY 36Q DTAG-MIN-PC 6 CL:REVERSE) (162Q JUMP-OR-TAG 130Q :MIN-PC 125Q :TAG 116Q :SIZE-UNCERTAINTY 107Q :FORWARD-P 100Q :MIN-SIZE 71Q :MIN-PC 60Q DJUMP 41Q :PC-UNCERTAINTY 32Q :MIN-PC 27Q TAG 21Q DTAG) ( 167Q (OR DTAG DJUMP)) CONVERT-TO-BINARY D1 (L (0 BYTE-LIST) F 24Q *DCODE*) y@ go W( W( kmlԹ@jO" W(H _&H_ O$_O&__dO& O& OO&_dgW(O$O&hK KJ jgW(O$O&hM ML jOdg#W(_O$O&hO ON jg$W(_O$O&hO _OO jWOdg-W(_O$O&O& hO _OO j#gIO& O&ԋgOo O OO"_"O$k_$(541Q CHECK-TYPE-FAIL 515Q \FINDOP 474Q setf-DCODE-LIT-FIXUPS 461Q DCODE-LIT-FIXUPS 451Q DCODE-FROM-DLAMBDA 410Q setf-DCODE-TYPE-FIXUPS 375Q DCODE-TYPE-FIXUPS 337Q setf-DCODE-FN-FIXUPS 327Q DCODE-FN-FIXUPS 265Q setf-DCODE-LIT-FIXUPS 256Q DCODE-LIT-FIXUPS 223Q setf-DCODE-SYM-FIXUPS 214Q DCODE-SYM-FIXUPS 140Q \FINDOP 70Q setf-DCODE-CODE-ARRAY 35Q DCODE-NFREEVARS 30Q DCODE-NLOCALS 15Q MAKE-ARRAY 3 CL:LENGTH) (530Q BYTE 503Q UNWIND 422Q LAMBDA 347Q TYPE 300Q FN 233Q LIT 170Q SYM 151Q LISTP 132Q LITATOM 120Q SMALLP 6 :ELEMENT-TYPE) ( 536Q (OR FIXNUM SYMBOL CONS) 12Q (UNSIGNED-BYTE 10Q)) COMPUTE-DEBUGGING-INFOA0001 D1 (L (0 OPT-VAR)) @ (4 DVAR-NAME) NIL () COMPUTE-DEBUGGING-INFO D1 (L (0 DLAMBDA) F 0 *DCODE*) uPg @ @ gg@ @ @ ghg@ h@ gg @ @ o h (162Q setf-DCODE-DEBUGGING-INFO 155Q \APPEND2 152Q \APPEND2 147Q \APPEND2 144Q \APPEND2 133Q DLAMBDA-ALLOW-OTHER-KEYS 126Q CL:MAPCAR 123Q DLAMBDA-KEY 117Q SYMBOL-FUNCTION 104Q DLAMBDA-KEY 75Q DVAR-NAME 72Q DLAMBDA-REST 53Q DLAMBDA-REST 45Q DLAMBDA-REST 40Q CL:MAPCAR 35Q DLAMBDA-OPTIONAL 21Q DLAMBDA-OPTIONAL 15Q CL:MAPCAR 12Q DLAMBDA-REQUIRED 6 SYMBOL-FUNCTION) (114Q CL:FIRST 111Q &KEY 66Q &REST 56Q :IGNORED 31Q COMPUTE-DEBUGGING-INFOA0001 26Q &OPTIONAL 3 DVAR-NAME) ( 141Q (&ALLOW-OTHER-KEYS)) ALLOCATE-CODE-BLOCK D1 (L (1 CODE-LEN 0 NT-COUNT)) <@klm@ lHdl lYAlmIl kkm I (71Q VALUES 65Q \ALLOC.CODE.BLOCK 53Q CEILING 17Q CL:ZEROP) NIL () (LET* ((A0352 (QUOTE ALLOCATE-CODE-BLOCK)) (A0353 (QUOTE CL:FUNCTION)) (A0354 "Return a code-array that is large enough to hold a compiled function with a name-table NT-COUNT entries long and with CODE-LEN bytecodes. Also return, as a second value, the index in that code-array of the place to put the first bytecode." )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A0352 A0353 A0354))) A0354)) FIXUP-PTR D1 (L (2 PTR 1 OFFSET 0 BASE) P 1 \INTERRUPTABLE) 'BB@ABǿ@AkHǿ@AlHlBNIL NIL () FIXUP-WORD D1 (L (2 WORD 1 OFFSET 0 BASE)) @AB@AkBlBNIL NIL () INTERN-DCODE D1 (L (0 -args-) P 54Q \INTERRUPTABLE P 53Q \INTERRUPTABLE) '-ekaP$lHI laI [ klm\lֽK lLdԾh__JI WI _K O __O_O kjO'OLOJOONOOLǿOLk_LONk_NO_K jl*OPORhiZKOR _OOTO OOTMOO OOl OTl _ORkOTl_T_ROI nOI I l knOlNllOI !I _+O,Ol OlǿOOOLOI OOjOI gkj_pOjhOddnnkOdnnkkl,OlNlkI O_HI j_(_&O&O(hi/I O( _$_"O$_ OOHO"O O(k_(I j_2_0O0O2hi/I O2 _._,O._*OOHO,O* O2k_2I j_<_:O:OOOHO@O> OFk_FI gO O(1441Q MAKE-COMPILED-CLOSURE 1427Q DCODE-CLOSURE-P 1411Q FIXUP-WORD 1406Q \RESOLVE.TYPENUMBER 1355Q CL:ELT 1350Q DCODE-TYPE-FIXUPS 1322Q CL:LENGTH 1317Q DCODE-TYPE-FIXUPS 1301Q FIXUP-PTR 1276Q INTERN-DCODE 1267Q DCODE-P 1235Q CL:ELT 1230Q DCODE-LIT-FIXUPS 1202Q CL:LENGTH 1177Q DCODE-LIT-FIXUPS 1161Q FIXUP-WORD 1127Q CL:ELT 1122Q DCODE-SYM-FIXUPS 1074Q CL:LENGTH 1071Q DCODE-SYM-FIXUPS 1053Q FIXUP-WORD 1021Q CL:ELT 1014Q DCODE-FN-FIXUPS 766Q CL:LENGTH 763Q DCODE-FN-FIXUPS 750Q FIXUP-PTR 745Q DCODE-DEBUGGING-INFO 627Q DCODE-CLOSURE-P 604Q DCODE-NLOCALS 526Q DCODE-FRAME-NAME 517Q DCODE-ARG-TYPE 463Q CEILING 455Q DCODE-NFREEVARS 451Q DCODE-NLOCALS 435Q DCODE-NUM-ARGS 402Q CL:FLOOR 372Q %%= 355Q FIXUP-WORD 324Q FIXUP-WORD 304Q CL:ELT 255Q CL:LENGTH 171Q CL:LENGTH 147Q \MVLIST 144Q ALLOCATE-CODE-BLOCK 141Q CL:LENGTH 134Q CL:LENGTH 125Q DCODE-CODE-ARRAY 117Q DCODE-CODE-ARRAY 73Q CL:ZEROP 70Q CL:LENGTH 47Q CL:LENGTH 43Q DCODE-NAME-TABLE 32Q CL:ARRAYP 27Q DCODE-CODE-ARRAY) (1432Q :FUNCTION 632Q :CLOSURE) () (PUTPROPS D-ASSEM FILETYPE COMPILE-FILE) (PUTPROPS D-ASSEM COPYRIGHT ("Xerox Corporation" 1986)) NIL