Google
 

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
***************