X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fsnapshot.lisp;h=0e6723de7c843a43cc617c4cd40598b764f8b56a;hb=ae47ad0774edd8cb376772ae7e615428295f979e;hp=846c06f73cca8fb31c933025518f474c03812ca3;hpb=d40a76606c86722b0aef8179155f9f2840739b72;p=sbcl.git diff --git a/src/cold/snapshot.lisp b/src/cold/snapshot.lisp index 846c06f..0e6723d 100644 --- a/src/cold/snapshot.lisp +++ b/src/cold/snapshot.lisp @@ -1,4 +1,23 @@ ;;;; code to detect whether a package has changed +;;;; +;;;; This is really old code which was most useful when first +;;;; bootstrapping SBCL when only CMU CL was available as an XC host. +;;;; Its main purpose was to check that legacy code like DEFMACRO +;;;; DOLIST and DEFUN IR1-OPTIMIZE-UNTIL-DONE was all correctly +;;;; converted from code which mutated the XC host into code which +;;;; built things for the target. +;;;; +;;;; These days, things like DEFUN IR1-OPTIMIZE-UNTIL-DONE can't very +;;;; well be mutating the cross-compiler host because we can build +;;;; successfully under OpenMCL, which shouldn't have the same +;;;; packages or symbols. So we don't need to worry very much about +;;;; modifying the XC host's private packages. However, it's still +;;;; conceivable that something affecting the XC host's CL package +;;;; (maybe DEFMACRO DOLIST?) could be written in such a way that it +;;;; would silently compile under SBCL, CMU CL, and even OpenMCL, and +;;;; still be fundamentally wrong. Since it'd be good to prevent such +;;;; modifications of the XC host's CL package, this code is still +;;;; retained despite being a little strange. ;;;; This software is part of the SBCL system. See the README file for ;;;; more information. @@ -102,7 +121,7 @@ #-cmu nil #+cmu (cl::*gc-trigger* cl::inch-ptr - cl::*internal-symbol-output-fun* + cl::*internal-symbol-output-function* cl::ouch-ptr cl::*previous-case* cl::read-buffer @@ -112,6 +131,10 @@ cl::*current-unwind-protect-block* cl::*load-depth* cl::*free-fop-tables* + cl::*load-symbol-buffer* + cl::*load-symbol-buffer-size* + cl::in-index + cl::in-buffer ;; These two are changed by PURIFY. cl::*static-space-free-pointer* cl::*static-space-end-pointer*)