Changeset 10244


Ignore:
Timestamp:
Jul 30, 2008, 12:27:17 AM (11 years ago)
Author:
gz
Message:

Add form CCL:WITHOUT-COMPILING-CODE-COVERAGE, which disables code
coverage instrumentation in the lexical scope of the form.

Make ASSERT and CHECK-TYPE use WITHOUT-COMPILING-CODE-COVERAGE.

Make the compiler ignore inline declarations when compiling with
code coverage enabled.

Location:
branches/working-0711/ccl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/nx0.lisp

    r10016 r10244  
    8282
    8383(defvar *nx1-compiler-special-forms* nil "Real special forms")
     84
     85(defmacro without-compiling-code-coverage (&body body)
     86  "Disable code coverage in the lexical scope of the form"
     87  `(compiler-let ((*nx-current-code-note* nil))
     88     ,@body))
    8489
    8590(defparameter *nx-never-tail-call*
     
    10921097         (token nil))
    10931098    (if (and (nx-declared-inline-p sym env)
    1094              (not (gethash sym *nx1-alphatizers*)))
     1099             (not (gethash sym *nx1-alphatizers*))
     1100             (not *nx-current-code-note*))
    10951101      (multiple-value-bind (info afunc) (unless global-only (nx-lexical-finfo sym env))
    10961102        (if info (setq token afunc
  • branches/working-0711/ccl/lib/macros.lisp

    r10194 r10244  
    26342634  (let* ((TOP (gensym))
    26352635         (setf-places-p (not (null places))))
    2636     `(tagbody
     2636    `(without-compiling-code-coverage
     2637      (tagbody
    26372638       ,TOP
    26382639       (unless ,test-form
     
    26482649                                (when ,set-p (setf ,place (values-list ,new-val)))))
    26492650                         places)))
    2650          (go ,TOP)))))
    2651 
     2651         (go ,TOP))))))
    26522652
    26532653(defmacro check-type (place typespec &optional string)
     
    26582658  invoked. In that case it will store into PLACE and start over."
    26592659  (let* ((val (gensym)))
    2660     `(do* ((,val ,place ,place))
     2660    `(without-compiling-code-coverage
     2661      (do* ((,val ,place ,place))
    26612662          ((typep ,val ',typespec))
    2662       (setf ,place (ensure-value-of-type ,val ',typespec ',place ,string)))))
     2663        (setf ,place (ensure-value-of-type ,val ',typespec ',place ,string))))))
    26632664
    26642665
  • branches/working-0711/ccl/library/cover.lisp

    r10194 r10244  
    1010          clear-coverage
    1111          save-coverage-in-file
    12           restore-coverage-from-file))
     12          restore-coverage-from-file
     13          without-compiling-code-coverage))
    1314
    1415(defconstant $not-executed-style 2)
Note: See TracChangeset for help on using the changeset viewer.