X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fpurify.lisp;h=4ff9fc0f9228591cc5bc8183f815febf47dd6e7b;hb=3bb2fb5b9ecdeebecaded4ac6e5af0f653be8867;hp=21317bfd94164d8827fa4bdd0e7dac654c071043;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/code/purify.lisp b/src/code/purify.lisp index 21317bf..4ff9fc0 100644 --- a/src/code/purify.lisp +++ b/src/code/purify.lisp @@ -9,9 +9,9 @@ (in-package "SB!KERNEL") -(sb!alien:def-alien-routine ("purify" %purify) sb!c-call:void - (static-roots sb!c-call:unsigned-long) - (read-only-roots sb!c-call:unsigned-long)) +(sb!alien:define-alien-routine ("purify" %purify) sb!alien:void + (static-roots sb!alien:unsigned-long) + (read-only-roots sb!alien:unsigned-long)) ;;; Compact the info environment. This is written with gratuitous ;;; recursion to make sure that our (and compact-info-environment's) @@ -47,18 +47,17 @@ (when environment-name (compact-environment-aux environment-name 200)) (let ((*gc-notify-before* - #'(lambda (notify-stream bytes-in-use) - (declare (ignore bytes-in-use)) - (write-string "[doing purification: " notify-stream) - (force-output notify-stream))) + (lambda (notify-stream bytes-in-use) + (declare (ignore bytes-in-use)) + (write-string "[doing purification: " notify-stream) + (force-output notify-stream))) (*internal-gc* - #'(lambda () - (%purify (get-lisp-obj-address root-structures) - (get-lisp-obj-address nil)))) + (lambda (ignored-generation-arg) + (%purify (get-lisp-obj-address root-structures) + (get-lisp-obj-address nil)))) (*gc-notify-after* - #'(lambda (notify-stream &rest ignore) - (declare (ignore ignore)) - (write-line "done]" notify-stream)))) - #!-gencgc (gc t) - #!+gencgc (gc :verbose t)) + (lambda (notify-stream &rest ignore) + (declare (ignore ignore)) + (write-line "done]" notify-stream)))) + (gc)) nil)