X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Ffngen.lisp;h=4df2a35e42b3fae0045e404f1712584c0e997ffa;hb=d833d62dd152879f1aa4e974bd8337c51905d5ba;hp=8488fe5ec6bf6cc458d6d375ecbcffa9bfd75eb0;hpb=87e066f141899c449821941d52c458e46483a25f;p=sbcl.git diff --git a/src/pcl/fngen.lisp b/src/pcl/fngen.lisp index 8488fe5..4df2a35 100644 --- a/src/pcl/fngen.lisp +++ b/src/pcl/fngen.lisp @@ -89,7 +89,7 @@ (defvar *fgens* (make-hash-table :test #'equal :synchronized t)) (defun ensure-fgen (test gensyms generator generator-lambda system) - (with-locked-hash-table (*fgens*) + (with-locked-system-table (*fgens*) (let ((old (lookup-fgen test))) (cond (old (setf (fgen-generator old) generator) @@ -111,7 +111,9 @@ (defun get-new-fun-generator (lambda test code-converter) (multiple-value-bind (code gensyms) (compute-code lambda code-converter) - (let ((generator-lambda `(lambda ,gensyms (function ,code)))) + (let ((generator-lambda `(lambda ,gensyms + (declare (muffle-conditions compiler-note)) + (function ,code)))) (let ((generator (compile nil generator-lambda))) (ensure-fgen test gensyms generator generator-lambda nil) generator)))) @@ -162,7 +164,7 @@ (defmacro precompile-function-generators (&optional system) (let (collect) - (with-locked-hash-table (*fgens*) + (with-locked-system-table (*fgens*) (maphash (lambda (test fgen) (when (or (null (fgen-system fgen)) (eq (fgen-system fgen) system))