/[cmucl]/src/compiler/checkgen.lisp
ViewVC logotype

Diff of /src/compiler/checkgen.lisp

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

revision 1.21 by ram, Sat Aug 1 17:34:14 1992 UTC revision 1.22 by ram, Mon Sep 7 15:34:20 1992 UTC
# Line 18  Line 18 
18  ;;;  ;;;
19  ;;; Written by Rob MacLachlan  ;;; Written by Rob MacLachlan
20  ;;;  ;;;
21  (in-package 'c)  (in-package "C")
22    
23    
24  ;;;; Cost estimation:  ;;;; Cost estimation:
# Line 285  Line 285 
285    (declare (type continuation cont))    (declare (type continuation cont))
286    (let ((dest (continuation-dest cont)))    (let ((dest (continuation-dest cont)))
287      (cond ((eq (continuation-type-check cont) :error)      (cond ((eq (continuation-type-check cont) :error)
288             (if (and (combination-p dest) (eq (combination-kind dest) :full))             (if (and (combination-p dest) (eq (combination-kind dest) :error))
289                 nil                 nil
290                 t))                 t))
291            ((or (not dest)            ((or (not dest)
# Line 295  Line 295 
295             (let ((kind (basic-combination-kind dest)))             (let ((kind (basic-combination-kind dest)))
296               (cond ((eq cont (basic-combination-fun dest)) t)               (cond ((eq cont (basic-combination-fun dest)) t)
297                     ((eq kind :local) t)                     ((eq kind :local) t)
298                     ((eq kind :full) nil)                     ((member kind '(:full :error)) nil)
299                     ((function-info-ir2-convert kind) t)                     ((function-info-ir2-convert kind) t)
300                     (t                     (t
301                      (dolist (template (function-info-templates kind) nil)                      (dolist (template (function-info-templates kind) nil)
# Line 463  Line 463 
463    (setf (continuation-%type-check cont) :error)    (setf (continuation-%type-check cont) :error)
464    (let ((dest (continuation-dest cont)))    (let ((dest (continuation-dest cont)))
465      (when (and (combination-p dest)      (when (and (combination-p dest)
466                 (let ((info (basic-combination-kind dest)))                 (let ((kind (basic-combination-kind dest)))
467                   (and (function-info-p info)                   (or (eq kind :full)
468                        (not (function-info-ir2-convert info)))))                       (and (function-info-p kind)
469        (setf (basic-combination-kind dest) :full)))                            (not (function-info-ir2-convert kind))))))
470          (setf (basic-combination-kind dest) :error)))
471    (undefined-value))    (undefined-value))
472    
473    

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.5