gencgc: More precise conservatism for pointers to boxed pages.
[sbcl.git] / src / code / early-source-location.lisp
index bb2fcda..57af0a7 100644 (file)
 (define-compiler-macro source-location ()
   (when (and (boundp '*source-info*)
              (symbol-value '*source-info*))
-    `(cons ,(make-file-info-namestring
-              *compile-file-pathname*
-              (sb!c:get-toplevelish-file-info (symbol-value '*source-info*)))
-           ,(when (boundp '*current-path*)
-                  (source-path-tlf-number (symbol-value '*current-path*))))))
+    (let ((form `(cons ,(make-file-info-namestring
+                         *compile-file-pathname*
+                         (sb!c:get-toplevelish-file-info (symbol-value '*source-info*)))
+                       ,(when (boundp '*current-path*)
+                              (source-path-tlf-number (symbol-value '*current-path*))))))
+      form)))
 
 ;; If the whole source location tracking machinery has been loaded
 ;; (detected by the type of SOURCE-LOCATION), execute BODY. Otherwise