Changeset 9507


Ignore:
Timestamp:
May 16, 2008, 12:57:01 AM (11 years ago)
Author:
gb
Message:

(TYPEP x 'package), since there's no predicate on PACAGEP and it doesn't
exist yet.

Support early registration of class-cells, istruct-cells.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711-perf/ccl/level-0/nfasload.lisp

    r9437 r9507  
    261261
    262262(defun find-package (name)
    263   (if (packagep name)
     263  (if (typep  name 'package)
    264264    name
    265265    (%find-pkg (string name))))
     
    517517               (and (symbolp f)
    518518                    (functionp (fboundp f)))))
    519       (apply (%car form) (%cdr form))
     519      (do* ((tail (%cdr form) (%cdr tail)))
     520           ((null tail) (apply (%car form) (%cdr form)))
     521        (let* ((head (car tail)))
     522          (when (and (consp head) (eq (car head) 'quote))
     523            (setf (car tail) (cadr head)))))
    520524      (error "Can't eval yet: ~s" form))))
    521525
     
    712716
    713717(deffaslop $fasl-provide (s)
    714   (provide (%fasl-expr s)))   
     718  (provide (%fasl-expr s)))
     719
     720(deffaslop $fasl-istruct-cell (s)
     721  (%epushval s (register-istruct-cell (%fasl-expr-preserve-epush s))))
     722
    715723
    716724
     
    11051113      (declare (special *xload-cold-load-functions*
    11061114                        *xload-cold-load-documentation*
    1107                         *xload-startup-file*))
     1115                        *xload-startup-file*
     1116                        *early-class-cells*))
    11081117      (%set-tcr-toplevel-function (%current-tcr) nil) ; should get reset by l1-boot.
    11091118      (setq %system-locks% (%cons-population nil))
     
    11131122      (dolist (f (prog1 *xload-cold-load-functions* (setq *xload-cold-load-functions* nil)))
    11141123        (funcall f))
     1124      (dolist (pair (prog1 *early-class-cells* (setq *early-class-cells* nil)))
     1125        (setf (gethash (car pair) %find-classes%) (cdr pair)))
    11151126      (dolist (p %all-packages%)
    11161127        (%resize-htab (pkg.itab p))
Note: See TracChangeset for help on using the changeset viewer.