(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)
(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))))
\f
(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))