(FILECREATED " 1-Apr-86 18:58:19" {ERIS}<TAMARIN>WORK>MICROTEST>TAMUTEST2.;3 26760  

      changes to:  (FNS CALLS.LASTARGTEST FN.LASTARG.PVARS FN.LASTARG.FVARS FN.LASTARG.FVARS.PVARS 
                        CALLS.TOOFEWARGS CALLS.TOOMANYARGS CALLS.COUNTTEST FN.ARGCOUNT 
                        BIND.UNBIND.TEST BIND.UNBIND.TEST2 DIAGNOSE.TEST.0 DIAGNOSE.TEST.1 RUN.TEST.2 
                        BASICDIAGNOSTICS.TEST PUSH.TEST FN.FIRSTARG FN.LASTARG CALLS.FIRSTARGTEST 
                        FN.FIRSTARG.PVARS.FVARS)
                   (VARS TAMUTEST2COMS)
                   (MACROS CHECKSTACK CHECKPUSH FREEVARTEST)
                   (PROPS (.COPY. DOPVAL))

      previous date: " 1-Apr-86 12:00:43" {ERIS}<TAMARIN>WORK>MICROTEST>TAMUTEST2.;1)


(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT TAMUTEST2COMS)

(RPAQQ TAMUTEST2COMS [(COMS (* same as TAMUTEST end of 31 mar)
                            (CONSTANTS (TMAXI 536870911)
                                   (TMAXI.1 536870910)
                                   (TMAXI.2 536870909)
                                   (TMAXISH1 268435455)
                                   (TMAXISH8 2097151)
                                   (TMAXISH16 8191)
                                   (TMAXISH24 31)
                                   (TMINI -536870912)
                                   (TMINI.1 -536870911)
                                   (TMINI.2 -536870910))
                            (FNS MT.LLSH MT.LRSH))
                      (COMS (* new to TAMUTEST2)
                            (GLOBALVARS STACKTESTING)
                            (VARS (STACKTESTING))
                            (VARS (F0 0)
                                  (F1 1)
                                  (F2 2)
                                  (F3 3)
                                  (F4 4)
                                  (F5 5)
                                  (F6 6)
                                  (F7 7)
                                  (F8 8)
                                  (G0 0)
                                  (G1 1)
                                  (G2 2)
                                  (G3 3)
                                  (G4 4)
                                  (G5 5)
                                  (G6 6)
                                  (G7 7)
                                  (G8 8))
                            (FNS RUN.TEST.2)
                            (COMS (FNS DIAGNOSE.TEST.0 DIAGNOSE.TEST.1 BASICDIAGNOSTICS.TEST)
                                  (FNS PUSH.TEST (* seems useless until (CHECKSTACK anyVar)
                                                    doesn't optimize away the var ref))
                                  (FNS JUMPX.TEST (* seems useless since compiler doesn't turn the 
                                                     calls to FN.LASTARG into code as they are not 
                                                     executable))
                                  (FNS CALLS.FIRSTARGTEST)
                                  (FNS CALLS.LASTARGTEST CALLS.TOOFEWARGS CALLS.TOOMANYARGS (* have 
                                                                                               to 
                                                                                               handle 
                                                                                               >6 
                                                                                               args 
                                                                                               1st))
                                  (FNS CALLS.COUNTTEST (* have to handle >6 args 1st -- have to 
                                                          handle lambda* first -- also note 
                                                          conditionality on STACKTESTING))
                                  (FNS BIND.UNBIND.TEST BIND.UNBIND.TEST2))
                            (COMS (FNS FN.FIRSTARG FN.FIRSTARG.PVARS FN.FIRSTARG.FVARS 
                                       FN.FIRSTARG.PVARS.FVARS)
                                  (FNS FN.LASTARG FN.LASTARG.PVARS FN.LASTARG.FVARS 
                                       FN.LASTARG.FVARS.PVARS)
                                  (FNS FN.ARGCOUNT)))
                      (COMS (* same as TAMUTEST end of 31 mar)
                            (DECLARE: EVAL@COMPILE DONTCOPY (P (RESETSAVE OPTIMIZATIONSOFF T))
                                   (MACROS CHECKVAL)))
                      (COMS (* new to TAMUTEST2)
                            (* note (RAID)
                               is a function call for us now)
                            (DECLARE: EVAL@COMPILE DONTCOPY (MACROS CHECKSTACK CHECKPUSH FREEVARTEST)
                                   (PROP DOPVAL NOP .COPY.])



(* same as TAMUTEST end of 31 mar)

(DECLARE: EVAL@COMPILE 

(RPAQQ TMAXI 536870911)

(RPAQQ TMAXI.1 536870910)

(RPAQQ TMAXI.2 536870909)

(RPAQQ TMAXISH1 268435455)

(RPAQQ TMAXISH8 2097151)

(RPAQQ TMAXISH16 8191)

(RPAQQ TMAXISH24 31)

(RPAQQ TMINI -536870912)

(RPAQQ TMINI.1 -536870911)

(RPAQQ TMINI.2 -536870910)

(CONSTANTS (TMAXI 536870911)
       (TMAXI.1 536870910)
       (TMAXI.2 536870909)
       (TMAXISH1 268435455)
       (TMAXISH8 2097151)
       (TMAXISH16 8191)
       (TMAXISH24 31)
       (TMINI -536870912)
       (TMINI.1 -536870911)
       (TMINI.2 -536870910))
)
(DEFINEQ

(MT.LLSH
  [LAMBDA (X N)                                                            (* rtk 
                                                                           "31-Mar-86 18:26")
    (COND
       ((IGREATERP 0 N)
        (LRSH X (IMINUS N)))
       (T (FRPTQ N (SETQ X (LLSH X 1])

(MT.LRSH
  [LAMBDA (X N)                                                            (* rtk 
                                                                           "31-Mar-86 18:27")
                                                                           (* assumes case where n 
                                                                           is constant 1 handled 
                                                                           in microcode or by 
                                                                           \SLOWLRSHn)
    (COND
       ((IGREATERP 0 N)
        (LLSH X (IMINUS N)))
       (T (FRPTQ N (SETQ X (LRSH X 1])
)



(* new to TAMUTEST2)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS STACKTESTING)
)

(RPAQQ STACKTESTING NIL)

(RPAQQ F0 0)

(RPAQQ F1 1)

(RPAQQ F2 2)

(RPAQQ F3 3)

(RPAQQ F4 4)

(RPAQQ F5 5)

(RPAQQ F6 6)

(RPAQQ F7 7)

(RPAQQ F8 8)

(RPAQQ G0 0)

(RPAQQ G1 1)

(RPAQQ G2 2)

(RPAQQ G3 3)

(RPAQQ G4 4)

(RPAQQ G5 5)

(RPAQQ G6 6)

(RPAQQ G7 7)

(RPAQQ G8 8)
(DEFINEQ

(RUN.TEST.2
  [LAMBDA NIL                                                (* jmh " 1-Apr-86 18:26")
    (CHECKVAL (DIAGNOSE.TEST.0)
           (DIAGNOSE.TEST.1)
           (BASICDIAGNOSTICS.TEST)
           (PUSH.TEST)
           (FN.FIRSTARG)
           (CALLS.FIRSTARGTEST])
)
(DEFINEQ

(DIAGNOSE.TEST.0
  [LAMBDA (ARG)                                              (* jmh " 1-Apr-86 14:59")
          
          (* * made from DIAGNOSE's first part)
                                                             (* RUN THRU ALL SIMPLE OPCODES ONCE)
          
          (* * no SWAP so no point -- (COPY.SWAP.POP NIL))
          
          (* * no type opcodes yet -- (LISTP NIL) (LISTP
          (QUOTE (A))) (STRINGP NIL) (STRINGP "A")
          (NTYPX NIL) (\DTEST NIL (QUOTE LITATOM)))
          
          (* * stay away from address arith for now --
          (\HILOC NIL) (\VAG2 0 0) (\ADDBASE NIL 1)
          (\LOLOC NIL) (\GETBASE \VALSPACE 0) (\GETBASEPTR \VALSPACE 0)
          (\PUTBASE \VALSPACE 1 0) (\PUTBASEPTR \VALSPACE 0 NIL))

    (DECLARE (GLOBALVARS DIAGNOSE.TEST.0))
    (NOP NIL T 0 1 2 -1 TMAXI TMINI (QUOTE ATOM)
         ARG
         (EQ (NOP (EQ NIL T))
             NIL)
         (CAR (QUOTE (A)))
         (CDR (QUOTE (A)))
         (CDR (QUOTE (A B)))
         (IGREATERP (IPLUS (IDIFFERENCE (LOGOR (LOGAND (MT.LRSH (MT.LLSH (MT.LRSH (MT.LLSH 1 1)
                                                                                1)
                                                                       8)
                                                              8)
                                                      1)
                                               2)
                                  1)
                           1)
                1)
         (AND 0 NIL (RAID))
         (COND
            (NIL (RAID))
            ((NOT 0)
             (RAID))
            (0 (OR NIL 0 (RAID)))
            (T (RAID)))
         (SETQ DIAGNOSE.TEST.0 123)
         (SETQ DIAGNOSE.TEST.0 DIAGNOSE.TEST.0)
         (PROG (PV)
               (NOP PV])

(DIAGNOSE.TEST.1
  [LAMBDA (ARG)                                              (* jmh " 1-Apr-86 17:08")
          
          (* * made from DIAGNOSE's second part, parallelling DIAGNOSE.TEST.0)
                                                             (* RUN THRU ALL SIMPLE OPCODES ONCE)
          
          (* * no SWAP so no point -- (COPY.SWAP.POP NIL))
          
          (* * no type opcodes yet -- (LISTP NIL) (LISTP
          (QUOTE (A))) (STRINGP NIL) (STRINGP "A")
          (NTYPX NIL) (\DTEST NIL (QUOTE LITATOM)))
          
          (* * stay away from address arith for now --
          (\HILOC NIL) (\VAG2 0 0) (\ADDBASE NIL 1)
          (\LOLOC NIL) (\GETBASE \VALSPACE 0) (\GETBASEPTR \VALSPACE 0)
          (\PUTBASE \VALSPACE 1 0) (\PUTBASEPTR \VALSPACE 0 NIL))

    (DECLARE (GLOBALVARS DIAGNOSE.TEST.1))
    (NOP (CHECKSTACK NIL)
         (CHECKSTACK T)
         (CHECKSTACK 0)
         (CHECKSTACK 1)
         (CHECKSTACK 2)
         (CHECKSTACK -1)
         (CHECKSTACK TMAXI)
         (CHECKSTACK TMINI)
         (CHECKSTACK (QUOTE ATOM))
         (CHECKSTACK ARG)
         (CHECKSTACK (EQ (NOP (EQ NIL T))
                         NIL))
         [CHECKSTACK (CAR (QUOTE (A]
         [CHECKSTACK (CDR (QUOTE (A]
         [CHECKSTACK (CDR (QUOTE (A B]
         (CHECKSTACK (IGREATERP (IPLUS (IDIFFERENCE (LOGOR (LOGAND (MT.LRSH
                                                                    (MT.LLSH (MT.LRSH (MT.LLSH 1 1)
                                                                                    1)
                                                                           8)
                                                                    8)
                                                                  1)
                                                           2)
                                              1)
                                       1)
                            1))
         (CHECKSTACK (AND 0 NIL (RAID)))
         [CHECKSTACK (COND
                        (NIL (RAID))
                        ((NOT 0)
                         (RAID))
                        (0 (OR NIL 0 (RAID)))
                        (T (RAID]
         (CHECKSTACK (SETQ DIAGNOSE.TEST.1 123))
         (CHECKSTACK (SETQ DIAGNOSE.TEST.1 DIAGNOSE.TEST.1))
         (CHECKSTACK (PROG (PV)
                           (NOP PV])

(BASICDIAGNOSTICS.TEST
  [LAMBDA NIL                                                (* jmh " 1-Apr-86 16:58")
          
          (* * made from MICROTEST's BASICDIAGNOSTICS by pulling out all address 
          arithmetic)
          
          (* * also omit type instrs -- (LISTP (QUOTE A))
          (NOT (LISTP NIL)) (NOT (SMALLP T)) (EQ (NTYPX
          (QUOTE ATOM)) (NTYPX NIL)))

    (CHECKVAL (NOT NIL)
           0 T 14 (PROG ((COUNT 0))
                        (RETURN (EQ COUNT 0])
)
(DEFINEQ

(PUSH.TEST
  [LAMBDA (I0 I1 I2 I3 I4 I5 I6 I7 I8)                       (* lmm "29-NOV-81 11:37")
    (DECLARE (GLOBALVARS G0 G1 G2 G3 G4 G5 G6 G7 G8))
    (PROG (P0 P1 P2 P3 P4 P5 P6 P7 P8)
          (CHECKPUSH NIL)
          (CHECKPUSH T)
          (CHECKPUSH 0)
          (CHECKPUSH 1)
          (CHECKPUSH 2)
          (CHECKPUSH (QUOTE ATOM))
          (CHECKPUSH -1)
          (CHECKPUSH 4096)
          (CHECKPUSH (.COPY.))
          (CHECKPUSH (QUOTE (A)))
          (PROGN (CHECKPUSH I0)
                 (CHECKPUSH I1)
                 (CHECKPUSH I2)
                 (CHECKPUSH I3)
                 (CHECKPUSH I4)
                 (CHECKPUSH I5)
                 (CHECKPUSH I6)
                 (CHECKPUSH I7)
                 (CHECKPUSH I8))
          (PROGN (CHECKPUSH G0)
                 (CHECKPUSH G1)
                 (CHECKPUSH G2)
                 (CHECKPUSH G3)
                 (CHECKPUSH G4)
                 (CHECKPUSH G5)
                 (CHECKPUSH G6)
                 (CHECKPUSH G7)
                 (CHECKPUSH G8))
          (FREEVARTEST (CHECKPUSH F0)
                 (CHECKPUSH F1)
                 (CHECKPUSH F2)
                 (CHECKPUSH F3)
                 (CHECKPUSH F4)
                 (CHECKPUSH F5)
                 (CHECKPUSH F6)
                 (CHECKPUSH F7)
                 (CHECKPUSH F8))
          (PROGN (CHECKPUSH P0)
                 (CHECKPUSH P1)
                 (CHECKPUSH P2)
                 (CHECKPUSH P3)
                 (CHECKPUSH P4)
                 (CHECKPUSH P5)
                 (CHECKPUSH P6)
                 (CHECKPUSH P7)
                 (CHECKPUSH P8))
          (CHECKPUSH (FN.FIRSTARG])
)
(DEFINEQ

(JUMPX.TEST
  [LAMBDA NIL                                                (* lmm "19-JUL-80 22:15")
    (CHECKVAL (PROG NIL
                    (GO FAR)
                NEAR
                    (RETURN (EQ NIL (EQ NIL T)))
                    (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                    (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                    (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                    (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                    (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                FAR (GO NEAR])
)
(DEFINEQ

(CALLS.FIRSTARGTEST
  [LAMBDA NIL                                                (* lmm " 3-JAN-80 01:10")
    (CHECKVAL (EQ (FN.FIRSTARG 1 2 3)
                  1)
           (EQ (FN.FIRSTARG.PVARS 1 2 3)
               1)
           (EQ (FN.FIRSTARG.FVARS 1 2 3)
               1)
           (EQ (FN.FIRSTARG.PVARS.FVARS 1 2 3)
               1])
)
(DEFINEQ

(CALLS.LASTARGTEST
  [LAMBDA NIL                                                (* lmm " 7-OCT-80 09:16")
    (CHECKVAL (EQ (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                  15))
    (CHECKVAL (EQ (FN.LASTARG.PVARS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                  15))
    (CHECKVAL (EQ (FN.LASTARG.FVARS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                  15))
    (CHECKVAL (EQ (FN.LASTARG.FVARS.PVARS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                  15])

(CALLS.TOOFEWARGS
  [LAMBDA NIL                                                (* lmm " 3-JAN-80 01:12")
    (CHECKVAL (EQ (FN.FIRSTARG 1 2)
                  1)
           (EQ (FN.FIRSTARG.PVARS.FVARS 1 2)
               1)
           (EQ (FN.FIRSTARG)
               NIL)
           (EQ (FN.FIRSTARG.PVARS.FVARS)
               NIL)
           (EQ (FN.FIRSTARG 1)
               1)
           (EQ (FN.LASTARG 1 2)
               NIL)
           (EQ (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14)
               NIL])

(CALLS.TOOMANYARGS
  [LAMBDA NIL                                                (* lmm " 3-JAN-80 01:12")
    (CHECKVAL (EQ (FN.FIRSTARG 1 2 3 4)
                  1)
           (EQ (FN.FIRSTARG 1 2 3 4 5 6 7 8 9 10)
               1)
           (EQ (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
               15)
           (EQ (FN.LASTARG 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)
               15])
)
(DEFINEQ

(CALLS.COUNTTEST
  [LAMBDA NIL                                                (* lmm " 2-OCT-81 22:22")
    (COND
       (STACKTESTING (CHECKVAL (EQ (FN.ARGCOUNT)
                                   0)
                            (EQ (FN.ARGCOUNT 1)
                                1)
                            (EQ (FN.ARGCOUNT 1 1)
                                2)
                            (EQ (FN.ARGCOUNT 1 1 1)
                                3)
                            (EQ (FN.ARGCOUNT 1 1 1 1)
                                4)
                            (EQ (FN.ARGCOUNT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
                                15))
              (CHECKPUSH (FN.ARGCOUNT))
              (CHECKPUSH (FN.ARGCOUNT 1 2 3 4 5 6])
)
(DEFINEQ

(BIND.UNBIND.TEST
  [LAMBDA NIL                                                (* lmm " 3-JAN-80 02:03")
    (CHECKVAL (EQ (PROG NIL)
                  NIL)
           (EQ (PROG (X)
                     (RETURN X))
               NIL)
           (EQ (PROG (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17)
                     (RETURN (OR A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17)))
               NIL)
           (EQ [PROG ((A 1)
                      (B 2)
                      (C 4))
                     (NOP 8 16 32 (RETURN (IPLUS A B C]
               7)
           (EQ (PROG ((A 0)
                      (B 1)
                      (C 2)
                      D E F)
                     (NOP 5 6 7 8 9 (RETURN A)))
               0))
    (CHECKPUSH (PROG NIL))
    (CHECKPUSH (PROG (A B C D E F G)
                     (RETURN])

(BIND.UNBIND.TEST2
  [LAMBDA NIL                                                (* lmm " 3-JAN-80 02:13")
    (CHECKSTACK (PROG NIL
                      (RETURN NIL)))
    (CHECKSTACK (PROG (X)
                      (RETURN X)))
    [CHECKSTACK (PROG (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17)
                      (COND
                         ((OR A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17)
                          (RETURN T]
    [CHECKSTACK (PROG ((A 1)
                       (B 2)
                       (C 4))
                      (NOP 8 16 32 (RETURN (IPLUS A B C]
    (CHECKSTACK (PROG ((A 0)
                       (B 1)
                       (C 2)
                       D E F)
                      (NOP 5 6 7 8 9 (RETURN A])
)
(DEFINEQ

(FN.FIRSTARG
  [LAMBDA (X Y Z)                                            (* jmh " 1-Apr-86 18:05")
    X])

(FN.FIRSTARG.PVARS
  [LAMBDA (X Y Z)                                            (* lmm " 3-JAN-80 01:08")
    (PROG (P D Q)
          (RETURN X])

(FN.FIRSTARG.FVARS
  [LAMBDA (X Y Z)                                            (* lmm " 3-JAN-80 15:12")
    (COND
       (NIL FREE.1)
       (NIL FREE.2)
       (NIL FREE.3)
       (T X])

(FN.FIRSTARG.PVARS.FVARS
  [LAMBDA (X Y Z)                                            (* lmm " 3-JAN-80 01:08")
    (PROG (P D Q)
          (RETURN (COND
                     (P FREE.1)
                     (P FREE.2)
                     (P FREE.3)
                     (T X])
)
(DEFINEQ

(FN.LASTARG
  [LAMBDA (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15)
    A15])

(FN.LASTARG.PVARS
  [LAMBDA (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15)
                                                             (* lmm " 7-OCT-80 09:15")
    (PROG (P1 P2 P3)
          (RETURN A15])

(FN.LASTARG.FVARS
  [LAMBDA (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15)
                                                             (* lmm " 7-OCT-80 09:16")
    (COND
       (NIL FVAR.1)
       (NIL FVAR.2)
       (NIL FVAR.3)
       (T A15])

(FN.LASTARG.FVARS.PVARS
  [LAMBDA (A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15)
                                                             (* lmm " 7-OCT-80 09:16")
    (PROG (P1 P2 P3)
          (RETURN (COND
                     (NIL FVAR.1)
                     (NIL FVAR.2)
                     (NIL FVAR.3)
                     (T A15])
)
(DEFINEQ

(FN.ARGCOUNT
  [LAMBDA N N])
)



(* same as TAMUTEST end of 31 mar)

(DECLARE: EVAL@COMPILE DONTCOPY 
(RESETSAVE OPTIMIZATIONSOFF T)

(DECLARE: EVAL@COMPILE 
[PUTPROPS CHECKVAL MACRO (X (MKPROGN (MAPCAR X (FUNCTION (LAMBDA (Y)
                                                                (LIST (QUOTE OR)
                                                                      Y
                                                                      (LIST (QUOTE RAID)
                                                                            (KWOTE Y]
)
)



(* new to TAMUTEST2)




(* note (RAID) is a function call for us now)

(DECLARE: EVAL@COMPILE DONTCOPY 
(DECLARE: EVAL@COMPILE 
[PUTPROPS CHECKSTACK MACRO (X (SUBPAIR (QUOTE (FORM N))
                                     (LIST (CAR X)
                                           (RAND 1 65535))
                                     (QUOTE (OR (EQ (PROG1 N FORM)
                                                    N)
                                                (RAID (QUOTE (push FORM lost N]
(PUTPROPS CHECKPUSH MACRO ((FORM)
                           (CHECKSTACK FORM)))
[PUTPROPS FREEVARTEST MACRO (X (COND ((NOT (EVALV (QUOTE FREEVARTESTING)))
                                      (CONS (QUOTE AND)
                                            (CONS NIL X)))
                                     (T (CONS (QUOTE PROGN)
                                              X]
)


(PUTPROPS NOP DOPVAL (1 NOP))

(PUTPROPS .COPY. DOPVAL (0 COPY))
)
(PRETTYCOMPRINT TAMUTEST2COMS)

(RPAQQ TAMUTEST2COMS [(COMS (* same as TAMUTEST end of 31 mar)
                            (CONSTANTS (TMAXI 536870911)
                                   (TMAXI.1 536870910)
                                   (TMAXI.2 536870909)
                                   (TMAXISH1 268435455)
                                   (TMAXISH8 2097151)
                                   (TMAXISH16 8191)
                                   (TMAXISH24 31)
                                   (TMINI -536870912)
                                   (TMINI.1 -536870911)
                                   (TMINI.2 -536870910))
                            (FNS MT.LLSH MT.LRSH))
                      (COMS (* new to TAMUTEST2)
                            (GLOBALVARS STACKTESTING)
                            (VARS (STACKTESTING))
                            (VARS (F0 0)
                                  (F1 1)
                                  (F2 2)
                                  (F3 3)
                                  (F4 4)
                                  (F5 5)
                                  (F6 6)
                                  (F7 7)
                                  (F8 8)
                                  (G0 0)
                                  (G1 1)
                                  (G2 2)
                                  (G3 3)
                                  (G4 4)
                                  (G5 5)
                                  (G6 6)
                                  (G7 7)
                                  (G8 8))
                            (FNS RUN.TEST.2)
                            (COMS (FNS DIAGNOSE.TEST.0 DIAGNOSE.TEST.1 BASICDIAGNOSTICS.TEST)
                                  (FNS PUSH.TEST (* seems useless until (CHECKSTACK anyVar)
                                                    doesn't optimize away the var ref))
                                  (FNS JUMPX.TEST (* seems useless since compiler doesn't turn the 
                                                     calls to FN.LASTARG into code as they are not 
                                                     executable))
                                  (FNS CALLS.FIRSTARGTEST)
                                  (FNS CALLS.LASTARGTEST CALLS.TOOFEWARGS CALLS.TOOMANYARGS (* have 
                                                                                               to 
                                                                                               handle 
                                                                                               >6 
                                                                                               args 
                                                                                               1st))
                                  (FNS CALLS.COUNTTEST (* have to handle >6 args 1st -- have to 
                                                          handle lambda* first -- also note 
                                                          conditionality on STACKTESTING))
                                  (FNS BIND.UNBIND.TEST BIND.UNBIND.TEST2))
                            (COMS (FNS FN.FIRSTARG FN.FIRSTARG.PVARS FN.FIRSTARG.FVARS 
                                       FN.FIRSTARG.PVARS.FVARS)
                                  (FNS FN.LASTARG FN.LASTARG.PVARS FN.LASTARG.FVARS 
                                       FN.LASTARG.FVARS.PVARS)
                                  (FNS FN.ARGCOUNT)))
                      (COMS (* same as TAMUTEST end of 31 mar)
                            (DECLARE: EVAL@COMPILE DONTCOPY (P (RESETSAVE OPTIMIZATIONSOFF T))
                                   (MACROS CHECKVAL)))
                      (COMS (* new to TAMUTEST2)
                            (* note (RAID)
                               is a function call for us now)
                            (DECLARE: EVAL@COMPILE DONTCOPY (MACROS CHECKSTACK CHECKPUSH FREEVARTEST)
                                   (PROP DOPVAL NOP .COPY.)))
                      (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
                             (ADDVARS (NLAMA)
                                    (NLAML)
                                    (LAMA FN.ARGCOUNT])
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA )

(ADDTOVAR NLAML )

(ADDTOVAR LAMA FN.ARGCOUNT)
)
(PUTPROPS TAMUTEST2 COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (5545 6541 (MT.LLSH 5555 . 5854) (MT.LRSH 5856 . 6539)) (6988 7311 (RUN.TEST.2 6998 . 
7309)) (7312 12182 (DIAGNOSE.TEST.0 7322 . 9196) (DIAGNOSE.TEST.1 9198 . 11648) (BASICDIAGNOSTICS.TEST
 11650 . 12180)) (12183 13877 (PUSH.TEST 12193 . 13875)) (13878 14519 (JUMPX.TEST 13888 . 14517)) (
14520 14909 (CALLS.FIRSTARGTEST 14530 . 14907)) (14910 16447 (CALLS.LASTARGTEST 14920 . 15437) (
CALLS.TOOFEWARGS 15439 . 15996) (CALLS.TOOMANYARGS 15998 . 16445)) (16448 17259 (CALLS.COUNTTEST 16458
 . 17257)) (17260 18942 (BIND.UNBIND.TEST 17270 . 18148) (BIND.UNBIND.TEST2 18150 . 18940)) (18943 
19727 (FN.FIRSTARG 18953 . 19072) (FN.FIRSTARG.PVARS 19074 . 19231) (FN.FIRSTARG.FVARS 19233 . 19434) 
(FN.FIRSTARG.PVARS.FVARS 19436 . 19725)) (19728 20685 (FN.LASTARG 19738 . 19826) (FN.LASTARG.PVARS 
19828 . 20052) (FN.LASTARG.FVARS 20054 . 20319) (FN.LASTARG.FVARS.PVARS 20321 . 20683)) (20686 20730 (
FN.ARGCOUNT 20696 . 20728)))))
STOP