(FILECREATED " 2-Feb-86 16:53:00" {DSK}<LISPFILES2>AMEM.LSP;2 13358 changes to: (VARS AMEMCOMS)) (* Copyright (c) 1986 by Quintus Computer Systems, Inc. All rights reserved.) (PRETTYCOMPRINT AMEMCOMS) (RPAQQ AMEMCOMS ((FNS R.get.Ai.value.XnM R.get.AiM.boxed R.get.AiM.constant R.get.AiM.float R.get.AiM.list R.get.AiM.nil R.get.AiM.structure R.get.AiM.symbol R.get.AiM.value.Xn R.get.AiM.value.XnM R.get.AiM.value.Yn R.get.AiM.variable.Yn R.put.Ai.value.XnM R.put.AiM.constant R.put.AiM.list R.put.AiM.nil R.put.AiM.structure R.put.AiM.symbol R.put.AiM.unsafe.Yn R.put.AiM.value.Xn R.put.AiM.value.XnM R.put.AiM.value.Yn R.put.AiM.variable.Yn R.put.AiM.void R.unify.local.XnM R.unify.value.XnM R.unify.variable.XnM W.get.Ai.value.XnM W.get.AiM.boxed W.get.AiM.constant W.get.AiM.float W.get.AiM.list W.get.AiM.nil W.get.AiM.structure W.get.AiM.symbol W.get.AiM.value.Xn W.get.AiM.value.XnM W.get.AiM.value.Yn W.get.AiM.variable.Yn W.put.Ai.value.XnM W.put.AiM.constant W.put.AiM.list W.put.AiM.nil W.put.AiM.structure W.put.AiM.symbol W.put.AiM.unsafe.Yn W.put.AiM.value.Xn W.put.AiM.value.XnM W.put.AiM.value.Yn W.put.AiM.variable.Yn W.put.AiM.void W.unify.local.XnM W.unify.value.XnM W.unify.variable.XnM))) (DEFINEQ (R.get.Ai.value.XnM (LAMBDA NIL (put.32 T1 (get.Aval N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Amem I)) (unify.and.continue 1))) (R.get.AiM.boxed (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.16 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (boxed.tag.8 (if (same.cont T0 T1) then (continue 2) else (fast.fail))) (PROGN (fast.fail))))) (R.get.AiM.constant (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (PROGN (if (same.cell T0 T1) then (continue 2) else (fast.fail)))))) (R.get.AiM.float (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.16 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (float.tag.8 (if (same.cont T0 T1) then (continue 2) else (fast.fail))) (PROGN (fast.fail))))) (R.get.AiM.list (LAMBDA NIL (put.32 T1 (get.Amem N)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (put.32 T0 (tag.list H)) (bind.either C T0) (continue.writing 0)) (list.tag.8 (put.24 S (untag.list T1)) (continue.reading 0)) (fast.fail)))) (R.get.AiM.nil (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (tag.symbol NIL)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 0)) (PROGN (if (same.cell T0 T1) then (continue 0) else (fast.fail)))))) (R.get.AiM.structure (LAMBDA NIL (put.32 T1 (get.Amem N)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (put.32 T1 (tag.struct H)) (bind.either C T1) (put.cell H 0 (cell.operand)) (increment.cell.pointer H) (continue.writing 2)) (struct.tag.8 (put.24 S (untag.struct T1)) (put.32 T1 (get.cell S 0)) (put.32 T0 (cell.operand)) (if (same.cell T0 T1) then (increment.cell.pointer S) (continue.reading 2) else (fast.fail))) (fast.fail)))) (R.get.AiM.symbol (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (tag.symbol.fast I)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 1)) (PROGN (if (same.cell T0 T1) then (continue 1) else (fast.fail)))))) (R.get.AiM.value.Xn (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Aval I)) (unify.and.continue 1))) (R.get.AiM.value.XnM (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Amem I)) (unify.and.continue 1))) (R.get.AiM.value.Yn (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Yval I)) (unify.and.continue 1))) (R.get.AiM.variable.Yn (LAMBDA NIL (put.32 T0 (get.Amem N)) (put.16 I (get.code P 0)) (put.Yval I (get.32 T0)) (continue 1))) (R.put.Ai.value.XnM (LAMBDA NIL (put.16 I (get.code P 0)) (put.Aval I (get.Amem N)) (continue 1))) (R.put.AiM.constant (LAMBDA NIL (put.Amem N (cell.operand)) (continue 2))) (R.put.AiM.list (LAMBDA NIL (put.Amem N (tag.list H)) (continue.writing 0))) (R.put.AiM.nil (LAMBDA NIL (put.Amem N (tag.symbol NIL)) (continue 0))) (R.put.AiM.structure (LAMBDA NIL (put.Amem N (tag.struct H)) (put.cell H 0 (cell.operand)) (increment.cell.pointer H) (continue.writing 2))) (R.put.AiM.symbol (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem N (tag.symbol.fast I)) (continue 1))) (R.put.AiM.unsafe.Yn (LAMBDA NIL (put.32 T0 (get.Yval N)) (select.4 T0 (ref.tag.8 (put.24 R (untag.ref T0)) (put.32 T0 (get.cell R 0)) (reselect.when.bound T0 R) (if (before E R) then (put.32 T0 (tag.ref H)) (bind.local R T0) (put.cell H 0 (get.32 T0)) (increment.cell.pointer H))) (PROGN)) (put.16 I (get.code P 0)) (put.Amem I (get.32 T0)) (continue 1))) (R.put.AiM.value.Xn (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem I (get.Aval N)) (continue 1))) (R.put.AiM.value.XnM (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem I (get.Amem N)) (continue 1))) (R.put.AiM.value.Yn (LAMBDA NIL (put.32 T0 (get.Yval N)) (put.16 I (get.code P 0)) (put.Amem I (get.32 T0)) (continue 1))) (R.put.AiM.variable.Yn (LAMBDA NIL (put.24 R (loc.Yval N)) (put.cell R 0 (tag.ref R)) (put.16 I (get.code P 0)) (put.Amem I (tag.ref R)) (continue 1))) (R.put.AiM.void (LAMBDA NIL (put.Amem N (tag.ref H)) (put.cell H 0 (tag.ref H)) (increment.cell.pointer H) (continue 0))) (R.unify.local.XnM (LAMBDA NIL (put.32 T0 (get.Amem N)) (put.32 T1 (get.cell S 0)) (increment.cell.pointer S) (unify.and.continue 0))) (R.unify.value.XnM (LAMBDA NIL (put.32 T0 (get.Amem N)) (put.32 T1 (get.cell S 0)) (increment.cell.pointer S) (unify.and.continue 0))) (R.unify.variable.XnM (LAMBDA NIL (put.Amem N (get.cell S 0)) (increment.cell.pointer S) (read.continue 0))) (W.get.Ai.value.XnM (LAMBDA NIL (put.32 T1 (get.Aval N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Amem I)) (unify.and.continue 1))) (W.get.AiM.boxed (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.16 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (boxed.tag.8 (if (same.cont T0 T1) then (continue 2) else (fast.fail))) (PROGN (fast.fail))))) (W.get.AiM.constant (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (PROGN (if (same.cell T0 T1) then (continue 2) else (fast.fail)))))) (W.get.AiM.float (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (cell.operand)) (select.16 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 2)) (float.tag.8 (if (same.cont T0 T1) then (continue 2) else (fast.fail))) (PROGN (fast.fail))))) (W.get.AiM.list (LAMBDA NIL (put.32 T1 (get.Amem N)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (put.32 T0 (tag.list H)) (bind.either C T0) (continue.writing 0)) (list.tag.8 (put.24 S (untag.list T1)) (continue.reading 0)) (fast.fail)))) (W.get.AiM.nil (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.32 T0 (tag.symbol NIL)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 0)) (PROGN (if (same.cell T0 T1) then (continue 0) else (fast.fail)))))) (W.get.AiM.structure (LAMBDA NIL (put.32 T1 (get.Amem N)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (put.32 T1 (tag.struct H)) (bind.either C T1) (put.cell H 0 (cell.operand)) (increment.cell.pointer H) (continue.writing 2)) (struct.tag.8 (put.24 S (untag.struct T1)) (put.32 T1 (get.cell S 0)) (put.32 T0 (cell.operand)) (if (same.cell T0 T1) then (increment.cell.pointer S) (continue.reading 2) else (fast.fail))) (fast.fail)))) (W.get.AiM.symbol (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (tag.symbol.fast I)) (select.4 T1 (ref.tag.8 (put.24 C (untag.ref T1)) (put.32 T1 (get.cell C 0)) (reselect.when.bound T1 C) (bind.either C T0) (continue 1)) (PROGN (if (same.cell T0 T1) then (continue 1) else (fast.fail)))))) (W.get.AiM.value.Xn (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Aval I)) (unify.and.continue 1))) (W.get.AiM.value.XnM (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Amem I)) (unify.and.continue 1))) (W.get.AiM.value.Yn (LAMBDA NIL (put.32 T1 (get.Amem N)) (put.16 I (get.code P 0)) (put.32 T0 (get.Yval I)) (unify.and.continue 1))) (W.get.AiM.variable.Yn (LAMBDA NIL (put.32 T0 (get.Amem N)) (put.16 I (get.code P 0)) (put.Yval I (get.32 T0)) (continue 1))) (W.put.Ai.value.XnM (LAMBDA NIL (put.16 I (get.code P 0)) (put.Aval I (get.Amem N)) (continue 1))) (W.put.AiM.constant (LAMBDA NIL (put.Amem N (cell.operand)) (continue 2))) (W.put.AiM.list (LAMBDA NIL (put.Amem N (tag.list H)) (continue.writing 0))) (W.put.AiM.nil (LAMBDA NIL (put.Amem N (tag.symbol NIL)) (continue 0))) (W.put.AiM.structure (LAMBDA NIL (put.Amem N (tag.struct H)) (put.cell H 0 (cell.operand)) (increment.cell.pointer H) (continue.writing 2))) (W.put.AiM.symbol (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem N (tag.symbol.fast I)) (continue 1))) (W.put.AiM.unsafe.Yn (LAMBDA NIL (put.32 T0 (get.Yval N)) (select.4 T0 (ref.tag.8 (put.24 R (untag.ref T0)) (put.32 T0 (get.cell R 0)) (reselect.when.bound T0 R) (if (before E R) then (put.32 T0 (tag.ref H)) (bind.local R T0) (put.cell H 0 (get.32 T0)) (increment.cell.pointer H))) (PROGN)) (put.16 I (get.code P 0)) (put.Amem I (get.32 T0)) (continue 1))) (W.put.AiM.value.Xn (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem I (get.Aval N)) (continue 1))) (W.put.AiM.value.XnM (LAMBDA NIL (put.16 I (get.code P 0)) (put.Amem I (get.Amem N)) (continue 1))) (W.put.AiM.value.Yn (LAMBDA NIL (put.32 T0 (get.Yval N)) (put.16 I (get.code P 0)) (put.Amem I (get.32 T0)) (continue 1))) (W.put.AiM.variable.Yn (LAMBDA NIL (put.24 R (loc.Yval N)) (put.cell R 0 (tag.ref R)) (put.16 I (get.code P 0)) (put.Amem I (tag.ref R)) (continue 1))) (W.put.AiM.void (LAMBDA NIL (put.Amem N (tag.ref H)) (put.cell H 0 (tag.ref H)) (increment.cell.pointer H) (continue 0))) (W.unify.local.XnM (LAMBDA NIL (put.32 T0 (get.Amem N)) (write.local.variable))) (W.unify.value.XnM (LAMBDA NIL (put.cell H 0 (get.Amem N)) (increment.cell.pointer H) (write.continue 0))) (W.unify.variable.XnM (LAMBDA NIL (put.Amem N (tag.ref H)) (put.cell H 0 (tag.ref H)) (increment.cell.pointer H) (write.continue 0))) ) (PUTPROPS AMEM.LSP COPYRIGHT ("Quintus Computer Systems, Inc" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL (1290 13267 (R.get.Ai.value.XnM 1300 . 1454) (R.get.AiM.boxed 1456 . 1864) ( R.get.AiM.constant 1866 . 2234) (R.get.AiM.float 2236 . 2644) (R.get.AiM.list 2646 . 3012) ( R.get.AiM.nil 3014 . 3379) (R.get.AiM.structure 3381 . 4007) (R.get.AiM.symbol 4009 . 4410) ( R.get.AiM.value.Xn 4412 . 4566) (R.get.AiM.value.XnM 4568 . 4723) (R.get.AiM.value.Yn 4725 . 4879) ( R.get.AiM.variable.Yn 4881 . 5028) (R.put.Ai.value.XnM 5030 . 5146) (R.put.AiM.constant 5148 . 5236) ( R.put.AiM.list 5238 . 5328) (R.put.AiM.nil 5330 . 5415) (R.put.AiM.structure 5417 . 5579) ( R.put.AiM.symbol 5581 . 5702) (R.put.AiM.unsafe.Yn 5704 . 6163) (R.put.AiM.value.Xn 6165 . 6281) ( R.put.AiM.value.XnM 6283 . 6400) (R.put.AiM.value.Yn 6402 . 6546) (R.put.AiM.variable.Yn 6548 . 6725) (R.put.AiM.void 6727 . 6870) (R.unify.local.XnM 6872 . 7028) (R.unify.value.XnM 7030 . 7186) ( R.unify.variable.XnM 7188 . 7314) (W.get.Ai.value.XnM 7316 . 7470) (W.get.AiM.boxed 7472 . 7880) ( W.get.AiM.constant 7882 . 8250) (W.get.AiM.float 8252 . 8660) (W.get.AiM.list 8662 . 9028) ( W.get.AiM.nil 9030 . 9395) (W.get.AiM.structure 9397 . 10023) (W.get.AiM.symbol 10025 . 10426) ( W.get.AiM.value.Xn 10428 . 10582) (W.get.AiM.value.XnM 10584 . 10739) (W.get.AiM.value.Yn 10741 . 10895) (W.get.AiM.variable.Yn 10897 . 11044) (W.put.Ai.value.XnM 11046 . 11162) (W.put.AiM.constant 11164 . 11252) (W.put.AiM.list 11254 . 11344) (W.put.AiM.nil 11346 . 11431) (W.put.AiM.structure 11433 . 11595) (W.put.AiM.symbol 11597 . 11718) (W.put.AiM.unsafe.Yn 11720 . 12179) (W.put.AiM.value.Xn 12181 . 12297) (W.put.AiM.value.XnM 12299 . 12416) (W.put.AiM.value.Yn 12418 . 12562) ( W.put.AiM.variable.Yn 12564 . 12741) (W.put.AiM.void 12743 . 12886) (W.unify.local.XnM 12888 . 12982) (W.unify.value.XnM 12984 . 13108) (W.unify.variable.XnM 13110 . 13265))))) STOP