X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fload.lisp;h=941891be11dee39cb9af5dca8cbba5d280b62ad1;hb=c712f88b26cd7547ee984b90e18c134401335bc3;hp=68a6e227c0087427e2c65d87294d97edb0a7846b;hpb=b69fe40e09e86e60f96a61208ee0a6afa100d3b4;p=sbcl.git diff --git a/src/code/load.lisp b/src/code/load.lisp index 68a6e22..941891b 100644 --- a/src/code/load.lisp +++ b/src/code/load.lisp @@ -168,6 +168,7 @@ (defun nuke-fop-vector (vector) (declare (simple-vector vector) + #!-gencgc (ignore vector) (optimize speed)) ;; Make sure we don't keep any garbage. #!+gencgc @@ -468,16 +469,15 @@ (when (zerop (file-length stream)) (error "attempt to load an empty FASL file:~% ~S" (namestring stream))) (maybe-announce-load stream verbose) - (with-world-lock () - (let* ((*fasl-input-stream* stream) - (*fop-table* (make-fop-vector 1000)) - (*fop-stack* (make-fop-vector 100))) - (unwind-protect - (loop while (load-fasl-group stream)) - ;; Nuke the table and stack to avoid keeping garbage on - ;; conservatively collected platforms. - (nuke-fop-vector *fop-table*) - (nuke-fop-vector *fop-stack*)))) + (let* ((*fasl-input-stream* stream) + (*fop-table* (make-fop-vector 1000)) + (*fop-stack* (make-fop-vector 100))) + (unwind-protect + (loop while (load-fasl-group stream)) + ;; Nuke the table and stack to avoid keeping garbage on + ;; conservatively collected platforms. + (nuke-fop-vector *fop-table*) + (nuke-fop-vector *fop-stack*))) t) (declaim (notinline read-byte)) ; Why is it even *declaimed* inline above?