Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99h-bb - act1.c14
There are no other files named act1.c14 in the archive.
 REP 4/1	;14C1
	!COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1972, 1985
 WIT
	!COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1972, 1986
 REP 26/1	;14C2
	GLOBAL BIND ACT1V = #10^24 + 0^18 + #2562;	! Version Date: 9-DEC-85
 WIT
	GLOBAL BIND ACT1V = #10^24 + 0^18 + #2570;	! Version Date: 19-Feb-86
 INS 535/1	;14C3
	2567	MEM	6-Feb-86
	 	Dimsension table was shared between two arrays if the upper
		bounds are the same and the lower bound of the first array is 1.
		This is bad news for subsequent arrays with the same upper bound
		but with different lower bounds.

	2570	MEM	19-Feb-86
		When we have adjustably dimensioned arrays, .Innnn variables are
		created. A use count (IDUSECNT) is associated with each variable that
		tells the number of uses of that variable - if this use count drops to
		zero then we don't need to allocate the variable. When some of the 
		dimensions of an array are constant and some are variable, the IDUSECNT
		field was being set in the constant table entries. This should not be.

 REP 451/11	;14C4
	%414%					IF .E[DIMENU (0)] EQL .T2[DIMENU (-1)]  AND
	%414%				     		.E [DIMENL (0)] EQL .ONEPLIT
 WIT
	%2567%					IF .E[DIMENU (0)] EQL .T2[DIMENU (-1)]
	%2567%					THEN IF .E[DIMENL(0)] EQL .T2[DIMENL(-1)]
	%2567%				     	THEN IF .E [DIMENL (0)] EQL .ONEPLIT
 REP 457/11	;14C5
	%571%						PTR [IDUSECNT] = .PTR [IDUSECNT] + 1;	! UPDATE SHARING COUNT
 WIT
	%2570%						IF .PTR[OPR1] EQL VARFL
	%2570%						THEN IF .PTR[IDDOTO] EQL SIXBIT ".I"
	%2570%						THEN PTR [IDUSECNT] = .PTR [IDUSECNT] + 1;	! UPDATE SHARING COUNT
 REP 182/14	;14C6
							  T2 [IDUSECNT] = .T2 [IDUSECNT] - 1;
							  IF .T2 [IDUSECNT] EQL 0
							    THEN T2 [IDATTRIBUT (NOALLOC)] = 1;	! NOT SHARED NOW: DON'T ALLOC
 WIT
	%2570%						  IF .T2[OPR1] EQL VARFL
	%2570%			                          THEN IF .T2[IDDOTO] EQL SIXBIT ".I"
	%2570%						  THEN
	%2570%						  BEGIN
	%2570%						        T2 [IDUSECNT] = .T2 [IDUSECNT] - 1;
	%2570% 						        IF .T2 [IDUSECNT] EQL 0
	%2570%						        THEN T2 [IDATTRIBUT (NOALLOC)] = 1;	! NOT SHARED NOW: DON'T ALLOC
	%2570%						  END;
 REP 205/14	;14C7
								PTR [IDUSECNT] = .PTR [IDUSECNT] + 1;	! UPDATE SHARING COUNT
 WIT
	%2570%						  	IF .PTR[OPR1] EQL VARFL
	%2570%			                          	THEN IF .PTR[IDDOTO] EQL SIXBIT ".I"
	%2570%						  	THEN PTR [IDUSECNT] = .PTR [IDUSECNT] + 1;	! UPDATE SHARING COUNT
 REP 210/14	;14C8
							  IF .T2 [IDUSECNT] EQL 0	! NO MATCH FOUND
							    THEN T2 [IDATTRIBUT (NOALLOC)] = 0	! USE OLD .I WHICH WAS DEALLOCED
							    ELSE T2 = INITLTEMP (INTEGER);	! GET NEW .I TEMP
 WIT
	%2570%						  IF .T2[OPR1] EQL VARFL
	%2570%			                          AND .T2[IDDOTO] EQL SIXBIT ".I"
	%2570%						  AND .T2 [IDUSECNT] EQL 0	! NO MATCH FOUND
							  THEN T2 [IDATTRIBUT (NOALLOC)] = 0	! USE OLD .I WHICH WAS DEALLOCED
							  ELSE T2 = INITLTEMP (INTEGER);	! GET NEW .I TEMP
 SUM 129650