Index: /branches/working-0711/ccl/level-1/l1-readloop.lisp
===================================================================
--- /branches/working-0711/ccl/level-1/l1-readloop.lisp	(revision 13301)
+++ /branches/working-0711/ccl/level-1/l1-readloop.lisp	(revision 13302)
@@ -684,6 +684,9 @@
     (and defenv (eq 'compile-file (car (defenv.type defenv))))))
 
+;; This is EVAL.
 (defun cheap-eval (form)
-  (cheap-eval-in-environment form nil))
+  ;; Don't record source locations for explicit calls to EVAL.
+  (let ((*nx-source-note-map* nil))
+    (cheap-eval-in-environment form nil)))
 
 ; used by nfcomp too
@@ -816,5 +819,6 @@
                        (cheap-eval-in-environment protected-form env))
                    (progn-in-env cleanup-forms env env)))
-               (funcall (cheap-eval-function nil (cheap-eval-transform form `(lambda () (progn ,form))) env))))
+               (let ((fn (cheap-eval-function nil (cheap-eval-transform form `(lambda () (progn ,form))) env)))
+                 (funcall fn))))
             ((and (symbolp sym) (macro-function sym env))
              (cheap-eval-in-environment (cheap-eval-macroexpand-1 form env) env))
Index: /branches/working-0711/ccl/lib/source-files.lisp
===================================================================
--- /branches/working-0711/ccl/lib/source-files.lisp	(revision 13301)
+++ /branches/working-0711/ccl/lib/source-files.lisp	(revision 13302)
@@ -47,7 +47,12 @@
 ;; This used to be weak, but the keys are symbols-with-definitions, so why bother.
 ;; Set a high rehash threshold because space matters more than speed here.
+;; Do not use lock-free hash tables, because they optimize reads at the expense of
+;; writes/rehashes.  Writes/rehashes affect file-compilation speed, which matters.
 (defvar %source-files% (make-hash-table :test #'eq
-                                        :size 13000
-                                        :rehash-threshold .95))
+                                        :size 14000
+                                        :rehash-size 1.8 ;; compensate for high threshold
+                                        :rehash-threshold .95
+                                        :lock-free nil))
+
 
 
