/[cmucl]/src/pcl/dlisp.lisp
ViewVC logotype

Diff of /src/pcl/dlisp.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by phg, Tue Jan 12 18:24:29 1993 UTC revision 1.2.1.1 by ram, Tue Jul 20 19:02:25 1993 UTC
# Line 104  Line 104 
104           (lambda `(lambda ,closure-variables           (lambda `(lambda ,closure-variables
105                      ,@(when (member 'miss-fn closure-variables)                      ,@(when (member 'miss-fn closure-variables)
106                          `((declare (type function miss-fn))))                          `((declare (type function miss-fn))))
107                      #'(lambda ,args                      #'(#+cmu kernel:instance-lambda #-cmu lambda ,args
108                          #+copy-&rest-arg                          #+copy-&rest-arg
109                          ,@(when rest                          ,@(when rest
110                              `((setq .lap-rest-arg.                              `((setq .lap-rest-arg.
# Line 117  Line 117 
117                  (compile-lambda lambda))                  (compile-lambda lambda))
118              nil)))              nil)))
119    
120    ;;; cmu17 note: since std-instance-p is weakened, that branch may run
121    ;;; on non-pcl instances (structures).  The result will be the
122    ;;; non-wrapper layout for the structure, which will cause a miss.  The "slots"
123    ;;; will be whatever the first slot is, but will be ignored.  Similarly,
124    ;;; fsc-instance-p returns true on funcallable structures as well as PCL fins.
125    ;;;
126  (defun emit-reader/writer (reader/writer 1-or-2-class class-slot-p)  (defun emit-reader/writer (reader/writer 1-or-2-class class-slot-p)
127    (when (and (null *precompiling-lap*) *emit-function-p*)    (when (and (null *precompiling-lap*) *emit-function-p*)
128      (return-from emit-reader/writer      (return-from emit-reader/writer
# Line 392  Line 398 
398                                           #-lucid `(the fixnum ,form))))))))                                           #-lucid `(the fixnum ,form))))))))
399                   wrappers))))                   wrappers))))
400    
401    ;;; cmu17 note: since std-instance-p is weakened, that branch may run
402    ;;; on non-pcl instances (structures).  The result will be the
403    ;;; non-wrapper layout for the structure, which will cause a miss.  The "slots"
404    ;;; will be whatever the first slot is, but will be ignored.  Similarly,
405    ;;; fsc-instance-p returns true on funcallable structures as well as PCL fins.
406    ;;;
407  (defun emit-fetch-wrapper (metatype argument miss-label &optional slot)  (defun emit-fetch-wrapper (metatype argument miss-label &optional slot)
408    (ecase metatype    (ecase metatype
409      ((standard-instance #+new-kcl-wrapper structure-instance)      ((standard-instance #+new-kcl-wrapper structure-instance)

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.1.1

  ViewVC Help
Powered by ViewVC 1.1.5