Ignore:
Timestamp:
Aug 10, 2010, 8:16:19 PM (9 years ago)
Author:
gz
Message:

arrange so don't output coverage acode for compiler-generated toplevel forms

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/qres/ccl/lib/nfcomp.lisp

    r14049 r14164  
    309309      (funcall (compile-named-function
    310310                lambda
     311                :compile-code-coverage nil
    311312                :source-notes *fcomp-source-note-map*
    312313                :env *fasl-compile-time-env*
     
    319320;;; Well, no usable methods by default.  How this is better than
    320321;;; getting a NO-APPLICABLE-METHOD error frankly escapes me,
     322;;; [Hint: this is called even when there is an applicable method]
    321323(defun no-make-load-form-for (object)
    322324  (error "No ~S method is defined for ~s" 'make-load-form object))
     
    959961  (and notes (gethash form notes)))
    960962
     963(defun (setf fcomp-source-note) (note form &aux (notes *fcomp-source-note-map*))
     964  (and notes (setf (gethash form notes) note)))
     965
    961966(defun fcomp-note-source-transformation (original new)
    962967  (let* ((*nx-source-note-map* *fcomp-source-note-map*))
     
    10371042           (*fcomp-stream-position* *fcomp-previous-position*)
    10381043           (*loading-toplevel-location* *fcomp-loading-toplevel-location*)
    1039            (lambda (if T ;; (null (cdr forms))
    1040                      `(lambda () ,@forms)
    1041                      `(lambda ()
    1042                         (macrolet ((load-time-value (value)
    1043                                      (declare (ignore value))
    1044                                      (compiler-function-overflow)))
    1045                           ,@forms)))))
     1044           (body (if T ;; (null (cdr forms))
     1045                   `(progn ,@forms)
     1046                   `(macrolet ((load-time-value (value)
     1047                                 (declare (ignore value))
     1048                                 (compiler-function-overflow)))
     1049                      ,@forms)))
     1050           (lambda `(lambda () ,body)))
     1051      ;; Don't assign a location to the lambda so it doesn't confuse acode printing, but
     1052      ;; arrange to assign it to any inner lambdas.
     1053      (setf (fcomp-source-note body) *loading-toplevel-location*)
    10461054      (setq *fcomp-toplevel-forms* nil)
    10471055      ;(format t "~& Random toplevel form: ~s" lambda)
     
    10491057                     $fasl-lfuncall
    10501058                     env
    1051                      (fcomp-named-function lambda nil env *loading-toplevel-location*))
     1059                     (fcomp-named-function lambda nil env #|*loading-toplevel-location*|#))
    10521060        (compiler-function-overflow ()
    10531061          (if (null (cdr forms))
Note: See TracChangeset for help on using the changeset viewer.