(/show0 "THROWing FASL-GROUP-END")
(throw 'fasl-group-end t))
-;;; In the normal loader, we just ignore these. GENESIS overwrites
-;;; FOP-MAYBE-COLD-LOAD with something that knows whether to revert to
-;;; cold-loading or not.
-(define-fop (fop-normal-load 81 :stackp nil))
-(define-fop (fop-maybe-cold-load 82 :stackp nil))
+;;; We used to have FOP-NORMAL-LOAD as 81 and FOP-MAYBE-COLD-LOAD as
+;;; 82 until GENESIS learned how to work with host symbols and
+;;; packages directly instead of piggybacking on the host code.
(define-fop (fop-verify-table-size 62 :stackp nil)
(let ((expected-index (read-word-arg)))
(define-fop (fop-package 14)
(find-undeleted-package-or-lose (pop-stack)))
+
+(define-cloned-fops (fop-named-package-save 156 :stackp nil)
+ (fop-small-named-package-save 157)
+ (let* ((arg (clone-arg))
+ (package-name (make-string arg)))
+ #+sb-xc-host
+ (read-string-as-bytes *fasl-input-stream* package-name)
+ #-sb-xc-host
+ (#!-sb-unicode read-string-as-bytes
+ #!+sb-unicode read-string-as-unsigned-byte-32
+ *fasl-input-stream* package-name)
+ (push-fop-table (find-undeleted-package-or-lose package-name))))
\f
;;;; fops for loading numbers
#+sb-xc-host ; since xc host doesn't know how to compile %PRIMITIVE
(error "FOP-FUN-ENTRY can't be defined without %PRIMITIVE.")
#-sb-xc-host
- (let ((xrefs (pop-stack))
+ (let ((info (pop-stack))
(type (pop-stack))
(arglist (pop-stack))
(name (pop-stack))
(setf (%simple-fun-name fun) name)
(setf (%simple-fun-arglist fun) arglist)
(setf (%simple-fun-type fun) type)
- (setf (%simple-fun-xrefs fun) xrefs)
+ (setf (%simple-fun-info fun) info)
;; FIXME: See the comment about *LOAD-PRINT* in FOP-EVAL.
#+nil (when *load-print*
(load-fresh-line)