From 16057b9fcdbf784b3dbec59aa62441de4cfaea38 Mon Sep 17 00:00:00 2001 From: dtc <dtc> Date: Tue, 25 Nov 1997 18:33:32 +0000 Subject: [PATCH] Support for loading the GENCGC system; requires a few hacks to get the code into the dynamic heap. --- tools/worldload.lisp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/worldload.lisp b/tools/worldload.lisp index f49e7071c..3a2e677e4 100644 --- a/tools/worldload.lisp +++ b/tools/worldload.lisp @@ -6,7 +6,7 @@ ;;; If you want to use this code or any part of CMU Common Lisp, please contact ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.81 1997/01/18 14:31:47 ram Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.82 1997/11/25 18:33:32 dtc Exp $ ;;; ;;; ********************************************************************** ;;; @@ -18,13 +18,16 @@ (in-package "LISP") +#+gencgc (setf *load-x86-tlf-to-dynamic-space* t) ; potentially dangerous. +#+gencgc (setf cl::*enable-dynamic-space-code* t) + ;;; Get some data on this core. ;;; (write-string "What is the current lisp-implementation-version? ") (force-output) (set '*lisp-implementation-version* (read-line)) -;;; Load the rest of the reader (may be byte-compiled.) +;;; Load the rest of the reader (maybe byte-compiled.) (maybe-byte-load "target:code/sharpm") (maybe-byte-load "target:code/backq") (setq std-lisp-readtable (copy-readtable *readtable*)) @@ -72,7 +75,12 @@ (maybe-byte-load "code:format-time") (maybe-byte-load "code:parse-time") + +;;; Better not move purify, or it will die on return! +#+gencgc (setf cl::*enable-dynamic-space-code* nil) #-gengc (maybe-byte-load "code:purify") +#+gencgc (setf cl::*enable-dynamic-space-code* t) + (maybe-byte-load "code:commandline") (maybe-byte-load "code:sort") (maybe-byte-load "code:time") @@ -111,6 +119,9 @@ `(lisp::%top-level extensions:save-lisp ,lisp::fop-codes) :environment-name "Kernel") +;;; Can turn off scavenging of the read-only-space now. +#+x86 (setf x86::*scavenge-read-only-space* nil) + ;;; Load the compiler. #-(or no-compiler runtime) (progn @@ -185,6 +196,12 @@ ;; so any garbage will be collected then. #-gengc (setf *need-to-collect-garbage* nil) #-gengc (gc-on) + (setf *gc-run-time* 0) + + #+x86 (setf *load-x86-tlf-to-dynamic-space* nil) ; potentially dangerous. + #+gencgc (setf cl::*enable-dynamic-space-code* t) + #+x86 (setf x86::*num-fixups* 0) + ;; ;; Save the lisp. If RUNTIME, there is nothing new to purify, so don't. (save-lisp "lisp.core" -- GitLab