LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760032815. :SYSTEM-TYPE :LOGICAL :VERSION 1. :TYPE "LISP" :NAME "CMU-LOW" :DIRECTORY ("REL3-PUBLIC" "PUBLIC" "PCL") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-PUBLIC\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2756388051. :AUTHOR "REL3" :LENGTH-IN-BYTES 2658. :LENGTH-IN-BLOCKS 3. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ;;; -*- Mode:LISP; Package:PCL; Base:10; Syntax:Common-lisp -*-;;;;;; *************************************************************************;;; Copyright (c) 1985 Xerox Corporation.  All rights reserved.;;;;;; Use and copying of this software and preparation of derivative works;;; based upon this software are permitted.  Any distribution of this;;; software or derivative works must comply with all applicable United;;; States export control laws.;;; ;;; This software is made available AS IS, and Xerox Corporation makes no;;; warranty about the software, its performance or its conformity to any;;; specification.;;; ;;; Any person obtaining a copy of this software is requested to send their;;; name and post office or electronic mail address to:;;;   CommonLoops Coordinator;;;   Xerox Artifical Intelligence Systems;;;   2400 Hanover St.;;;   Palo Alto, CA 94303;;; (or send Arpanet mail to CommonLoops-Coordinator.pa@Xerox.arpa);;;;;; Suggestions, comments and requests for improvements are also welcome.;;; *************************************************************************;;; ;;; This is the Spice Lisp version of the file portable-low.;;;;;; History:;;;    7-Dec-86;;;       Rick Busdiecker (rfb) at Carnegie-Mellon University;;;          Added suggested change from Gregor Kiczales @ Parc;;;    ??-???-??;;;  CMU:     David B. McDonald (412)268-8860;;;     Modified.;;;    ??-???-??;;;  Skef Wholey at Carnegie-Mellon University;;;     Created.;;;;;;;;; (in-package 'pcl)  ;;   ;;;;;; Cache No's  ;;  ;;; Abuse the type declaration, but it generates great code.(defun symbol-cache-no (symbol mask)  (logand (the fixnum (system:%primitive lisp::make-immediate-type symbol system::%+-fixnum-type))  (the fixnum mask)))(clc::deftransform symbol-cache-no symbol-cache-no-transform (symbol mask)  `(logand (the fixnum (system:%primitive lisp::make-immediate-type  ,symbol  system::%+-fixnum-type))   (the fixnum ,mask)))(defun object-cache-no (symbol mask)  (logand (the fixnum (system:%primitive lisp::make-immediate-type symbol system::%+-fixnum-type))  (the fixnum mask)))(clc::deftransform object-cache-no object-cache-no-transform (symbol mask)  `(logand (the fixnum (system:%primitive lisp::make-immediate-type  ,symbol  system::%+-fixnum-type))   (the fixnum ,mask)))(defmacro implementation-dependent-class-of (x)  `(or (and (null x) (class-named 'null))       (and (stringp x) (class-named 'string))       (and (extensions:ratiop x) (class-named 'rational))       (and (streamp x) (class-named 'stream))))pecially!;;;;;; They cannot be defined using slot-value-using-class like all the other;;; accessors are.  This is because slot-value-using-class itself must call;;; CLASS-INSTANCE-SLOTS and SLOTD-NAME to do the slot access.;;;;;; This 'bottoming out' of the run-time slot-access code will be replaced;;; by a corresponding bootstrapping constraint when permutation vectors;;; happen.(defun class-instance