X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fgc.lisp;h=e6abbb13ed4fd3990c5a2da63be8d5f4b242bada;hb=5d04a95274c9ddaebbcd6ddffc5d646e2c25598c;hp=7ba3b3b3e05f7e3a2e50819992006df7b7018cec;hpb=513aec1c69b8ad9a7d90a46013352725fe0b0a48;p=sbcl.git diff --git a/src/code/gc.lisp b/src/code/gc.lisp index 7ba3b3b..e6abbb1 100644 --- a/src/code/gc.lisp +++ b/src/code/gc.lisp @@ -125,7 +125,7 @@ ;; See comment in interr.lisp *heap-exhausted-error-condition* (make-condition 'heap-exhausted-error))) -(declaim (ftype (function () unsigned-byte) get-bytes-consed)) +(declaim (ftype (sfunction () unsigned-byte) get-bytes-consed)) (defun get-bytes-consed () #!+sb-doc "Return the number of bytes consed since the program began. Typically @@ -248,11 +248,7 @@ run in any thread.") ;; for finalizers and after-gc hooks. (when (sb!thread:thread-alive-p sb!thread:*current-thread*) (run-pending-finalizers) - (dolist (hook *after-gc-hooks*) - (handler-case - (funcall hook) - (serious-condition (c) - (warn "Error calling after-GC hook ~S:~% ~A" hook c))))))))) + (call-hooks "after-GC" *after-gc-hooks* :on-error :warn)))))) ;;; This is the user-advertised garbage collection function. (defun gc (&key (gen 0) (full nil) &allow-other-keys)