X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1-step.lisp;h=3d3bf4187a94c7c7eb035e9598fcf4da8f228d18;hb=1831934a29eb9361472e4f49efbcd5398392a6b0;hp=2ca4af68dbdd9b6b200c483cf08cce5cc65952f6;hpb=8a8a8922802460741d6f8f6c11d71b1f414cf3a7;p=sbcl.git diff --git a/src/compiler/ir1-step.lisp b/src/compiler/ir1-step.lisp index 2ca4af6..3d3bf41 100644 --- a/src/compiler/ir1-step.lisp +++ b/src/compiler/ir1-step.lisp @@ -32,7 +32,7 @@ (setf *stepping* nil)) (step-next () nil) - (step-into () + (step-into () t)))) (defun step-variable (symbol value) @@ -47,8 +47,8 @@ (defun insert-step-conditions (form) `(locally (declare - (optimize (insert-step-conditions - ,(policy *lexenv* insert-step-conditions)))) + (optimize (insert-step-conditions + ,(policy *lexenv* insert-step-conditions)))) ,form)) ;;; Flag to control instrumentation function call arguments. @@ -64,7 +64,8 @@ `(locally (declare (optimize (insert-step-conditions 0))) (step-variable ,form-string ,form)))) (list - (let* ((*step-arguments-p* (policy *lexenv* (= insert-step-conditions 3))) + (let* ((*step-arguments-p* (and *allow-instrumenting* + (policy *lexenv* (= insert-step-conditions 3)))) (step-form `(step-form ,form-string ',(source-path-original-source *current-path*) *compile-file-pathname*)) @@ -83,12 +84,13 @@ #+sb-xc-host (declare (ignore form)) #-sb-xc-host (flet ((step-symbol-p (symbol) - (not (member (symbol-package symbol) - (load-time-value + (not (member (symbol-package symbol) + (load-time-value ;; KLUDGE: packages we're not interested in stepping. (mapcar #'find-package '(sb!c sb!int sb!impl sb!kernel sb!pcl))))))) (let ((lexenv *lexenv*)) - (and (policy lexenv (>= insert-step-conditions 2)) + (and *allow-instrumenting* + (policy lexenv (>= insert-step-conditions 2)) (cond ((consp form) (let ((op (car form))) (or (and (consp op) (eq 'lambda (car op))) @@ -99,6 +101,7 @@ (step-symbol-p op))))) ((symbolp form) (and *step-arguments-p* + *allow-instrumenting* (policy lexenv (= insert-step-conditions 3)) (not (consp (lexenv-find form vars))) (not (constantp form))