Trailing-Edge
-
PDP-10 Archives
-
clisp
-
clisp/upsala/boot.cmp
There are no other files named boot.cmp in the archive.
;COMPARISON OF SS:<CLISP.NEW>BOOT.MID.53 AND SS:<CLISP.NEW.VICTOR>BOOT.MID.17
;OPTIONS ARE /B /E /L /3
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 1-443 (16659)
fa%nxt==10 ;link to next address block (presumably for a different
;section)
fa%siz==11
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 1-443 (16659)
fa%clo==10 ;[Victor] the closure vector, if any
fa%nxt==11 ;10 ;link to next address block (presumably for a different
;section)
fa%siz==12 ;11
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 29-121 (201780) AFTER alcv1:
call sgc
pop q,o6
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 29-121 (201837) AFTER alcv1:
caml free,lastl ;[Victor] This is just for SGC, which does
;"sos (p)" twice to return to the test. If
;we don't have it, we'll be GC'ing forever
call sgc
pop q,o6
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 33-159 (263843) AFTER pratom:
;first print any package prefixes necessary
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 33-159 (264060) AFTER pratom:
move w3,at%pna(o1) ;[Victor] Typechecking is good for you!
caml w3,[object ty%str,0] ;see if really IADR
camle w3,[object ty%cst,7777777777]
jrst [ push q,o1
jrst priadr ] ;[Victor] End patch
;first print any package prefixes necessary
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 34-594 (387727) AFTER apsubr:
dmove o5,6(w2)
call @(w3) ;allow mv's through
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 34-594 (388151) AFTER apsubr:
move o5,6(w2) ;[Victor] don't get o6!
move o6,-2(sp) ;[Victor] get function (atom) name
;from EVAL blip
call @(w3) ;allow mv's through
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 40-509 (501510) AFTER ccitab:
0,,0
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 40-509 (502034) AFTER ccitab:
0,,0 ;[Victor] fa%clo
0,,0
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 40-627 (504223) AFTER calpse:
;args: O1 -- original atom for function, O2 -- closure vector
;;TY%ATM
clogen: push free,o2 ;at%val - the closure vector
move o3,free ;save addr of first for atom ptr
push free,nil ;at%pro - no properties
push free,at%pna(o1) ;at%pna - pname
push free,at%fun(o1) ;at%fun - ftn defn
push free,nil ;at%pkg - no package
push free,at%dsp(o1) ;at%dsp - fadr block
tlz o3,770000 ;make it atom
camle free,lastl ;see if went beyond end of space
call sgc ;yes
ifn ty%atm,[printx this code depends upon ty%atm being 0]
move o1,o3
iret
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 40-628 (504772) AFTER calpse:
;;[Victor] No, it's just a normal function object with fa%clo filled in
;args: O1 -- original atom for function, O2 -- closure vector
;;TY%ATM
clogen: skipe w2,at%dsp(o1) ;[Victor] get fadr block
jrst cloge1 ;there was one, so use it
skipn w2,at%fun(o1) ;else get definition
iret ;none, lose!
docdr w2,w2 ;(subr #(....))
docar w2,w2 ;get down to entry vector stuff
cloge1: movem o2,fa%clo(w2) ;[Victor] and update its closure vector
iret ;[Victor] and that's all!
; push free,o2 ;at%val - the closure vector
; move o3,free ;save addr of first for atom ptr
; push free,nil ;at%pro - no properties
; push free,at%pna(o1) ;at%pna - pname
; push free,at%fun(o1) ;at%fun - ftn defn
; push free,nil ;at%pkg - no package
; push free,at%dsp(o1) ;at%dsp - fadr block
; tlz o3,770000 ;make it atom
; camle free,lastl ;see if went beyond end of space
; call sgc ;yes
;ifn ty%atm,[printx this code depends upon ty%atm being 0]
; move o1,o3
; iret
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 41-77 (513012) AFTER blomp0:
skpnum o3 ;no fa%nxt in a vector
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 41-77 (513984) AFTER blomp0:
move w2,7(o5) ;[Victor] copy closure too
movem w2,fa%clo(o3) ;[Victor]
skpnum o3 ;no fa%nxt in a vector
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 41-90 (513385) AFTER blomp1:
skpnum o3 ;no fa%nxt in a vector
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 41-92 (514433) AFTER blomp1:
movem nil,fa%clo(o3) ;[Victor] null closure
skpnum o3 ;no fa%nxt in a vector
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 42-564 (535827) AFTER bigm36:
call sgc
pop p,o6
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 42-564 (536921) AFTER bigm36:
camle free,lastl ;[Victor] This is just for SGC's sake, it
;does "sos (p)" twice to repeat the test, but
;if there is no test we'll be GC'ing forever.
call sgc
pop p,o6
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 50-26 (716676) AFTER fremap:
0
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 50-26 (717934) AFTER fremap:
0 ;[Victor] fa%clo
0
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 50-261 (722161) AFTER fremap:
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 50-262 (723440) AFTER fremap:
0 ;[Victor] fa%atm
0 ;[Victor] fa%clo
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 50-312 (723309) AFTER fremap:
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 50-315 (724630) AFTER fremap:
0 ;[Victor] fa%atm
0 ;[Victor] fa%clo
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 50-364 (724543) AFTER fremap:
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 50-369 (725906) AFTER fremap:
0 ;[Victor] fa%atm
0 ;[Victor] fa%clo
***************
**** FILE SS:<CLISP.NEW>BOOT.MID.53, 50-414 (725711) AFTER fremap:
termin
**** FILE SS:<CLISP.NEW.VICTOR>BOOT.MID.17, 50-421 (727116) AFTER fremap:
0 ;[Victor] fa%atm
0 ;[Victor] fa%clo
termin
***************