(FILECREATED " 8-Feb-86 15:33:41" {DSK}<LISPFILES2>IMPROVEDDCOMS>AMEM.;1 11370 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 COPYRIGHT ("Quintus Computer Systems, Inc" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL (1255 11283 (R.get.Ai.value.XnM 1265 . 1402) (R.get.AiM.boxed 1404 . 1723) ( R.get.AiM.constant 1725 . 2020) (R.get.AiM.float 2022 . 2341) (R.get.AiM.list 2343 . 2647) ( R.get.AiM.nil 2649 . 2941) (R.get.AiM.structure 2943 . 3443) (R.get.AiM.symbol 3445 . 3769) ( R.get.AiM.value.Xn 3771 . 3908) (R.get.AiM.value.XnM 3910 . 4048) (R.get.AiM.value.Yn 4050 . 4187) ( R.get.AiM.variable.Yn 4189 . 4318) (R.put.Ai.value.XnM 4320 . 4422) (R.put.AiM.constant 4424 . 4502) ( R.put.AiM.list 4504 . 4584) (R.put.AiM.nil 4586 . 4661) (R.put.AiM.structure 4663 . 4808) ( R.put.AiM.symbol 4810 . 4917) (R.put.AiM.unsafe.Yn 4919 . 5282) (R.put.AiM.value.Xn 5284 . 5386) ( R.put.AiM.value.XnM 5388 . 5491) (R.put.AiM.value.Yn 5493 . 5619) (R.put.AiM.variable.Yn 5621 . 5777) (R.put.AiM.void 5779 . 5905) (R.unify.local.XnM 5907 . 6046) (R.unify.value.XnM 6048 . 6187) ( R.unify.variable.XnM 6189 . 6301) (W.get.Ai.value.XnM 6303 . 6440) (W.get.AiM.boxed 6442 . 6761) ( W.get.AiM.constant 6763 . 7058) (W.get.AiM.float 7060 . 7379) (W.get.AiM.list 7381 . 7685) ( W.get.AiM.nil 7687 . 7979) (W.get.AiM.structure 7981 . 8481) (W.get.AiM.symbol 8483 . 8807) ( W.get.AiM.value.Xn 8809 . 8946) (W.get.AiM.value.XnM 8948 . 9086) (W.get.AiM.value.Yn 9088 . 9225) ( W.get.AiM.variable.Yn 9227 . 9356) (W.put.Ai.value.XnM 9358 . 9460) (W.put.AiM.constant 9462 . 9540) ( W.put.AiM.list 9542 . 9622) (W.put.AiM.nil 9624 . 9699) (W.put.AiM.structure 9701 . 9846) ( W.put.AiM.symbol 9848 . 9955) (W.put.AiM.unsafe.Yn 9957 . 10320) (W.put.AiM.value.Xn 10322 . 10424) ( W.put.AiM.value.XnM 10426 . 10529) (W.put.AiM.value.Yn 10531 . 10657) (W.put.AiM.variable.Yn 10659 . 10815) (W.put.AiM.void 10817 . 10943) (W.unify.local.XnM 10945 . 11029) (W.unify.value.XnM 11031 . 11141) (W.unify.variable.XnM 11143 . 11281))))) STOP