ViewVC logotype

Log of /src/code/ntrace.lisp

Parent Directory Parent Directory | Revision Log Revision Log

Links to HEAD: (view) (annotate)
Links to release-19d: (view) (annotate)
Sticky Tag:

Revision 1.36 - (view) (annotate) - [select for diffs]
Mon Oct 2 13:40:55 2006 UTC (7 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03
Branch point for: release-19d-branch
Changes since 1.35: +95 -67 lines
Diff to previous 1.35
o Add a new :WHEREIN-ONLY option for trace, which is like :WHEREIN,
  but only if the immediate caller is one of the listed functions
  instead of anywhere in the backtrace.

o Update for :WHEREIN-ONLY

Revision 1.35 - (view) (annotate) - [select for diffs]
Mon Feb 20 00:57:47 2006 UTC (8 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch
Changes since 1.34: +3 -4 lines
Diff to previous 1.34
Oops.  Restore ability to trace setf functions, which was broken when
tracing of flet/labels was added.

Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Jan 27 20:52:19 2006 UTC (8 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-02
Changes since 1.33: +5 -2 lines
Diff to previous 1.33
Signal an error if we try to trace flet/labels functions using
encapsulation.  We can't do that because there's nothing to wrap.

Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Jan 23 14:11:02 2006 UTC (8 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.32: +5 -1 lines
Diff to previous 1.32
Implement tracing of flet/labels functions.  This probably needs more
work and could probably be implemented better.

With these changes (trace (labels foo bar)) will trace the labels
function FOO in the function BAR.  We only support encapsulate nil,
here.  No check is made for this.

o In TRACE-FDEFINITION, recognize a list as a valid function, and
  return the list as the value of TRACE-FDEFINITION.  This seems
  wrong, but I'm not sure if there's a real fdefinition for it, or if
  we could create a fake one.

o In FUNCTION-DEBUG-FUNCTION, recognize a list as the name of a
  function, and find the corresponding compiled-debug-function and
  create and return the new compiled-debug-function.

Revision 1.32 - (view) (annotate) - [select for diffs]
Sat Dec 17 17:52:15 2005 UTC (8 years, 4 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-01
Changes since 1.31: +2 -2 lines
Diff to previous 1.31
Change initial value of *trace-encapsulate-default* to be :default for
ppc too.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri Oct 7 14:20:12 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19c, release-19c-base, release-19c-pre1, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12
Branch point for: release-19c-branch
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Tracing with :encapsulate nil is rather broken on ppc.  So change the
default encapsulation from :default to t for ppc, until this is fixed.

Revision 1.30 - (view) (annotate) - [select for diffs]
Fri Feb 25 17:11:52 2005 UTC (9 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: release-19b-base, release-19b-pre1, release-19b-pre2, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09
Branch point for: release-19b-branch
Changes since 1.29: +29 -9 lines
Diff to previous 1.29
Update the :WHEREIN option of TRACE to support method calls.  To use a
single method for the :wherein option, you need to write it as a list:
:wherein ((method foo (types))) instead of :wherein (method foo

Revision 1.29 - (view) (annotate) - [select for diffs]
Tue Feb 22 22:55:47 2005 UTC (9 years, 1 month ago) by rtoy
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28
Remove extraneous character in docstring for trace.

Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Jul 21 13:41:53 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, dynamic-extent-base, lisp-executable-base, mod-arith-base, ppc_gencgc_snap_2005-05-14, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, mod-arith-branch, ppc_gencgc_branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.27: +2 -2 lines
Diff to previous 1.27
	* src/code/ntrace.lisp (trace-1): Encapsulate if
	can-set-function-end-breakpoint-p returns false.

	* src/code/debug-int.lisp (can-set-function-end-breakpoint-p):
	Return true of compiled-debug-function-returns is :standard.

Revision 1.27 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:11 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.26: +3 -2 lines
Diff to previous 1.26
	Remove package nicknames USER from COMMON-LISP-USER.  Add a new
	package COMMON-LISP which LISP uses, so that COMMON-LISP no longer
	has the non-ANSI nickname LISP.

	To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's
	build scripts, and do a full compile.

	* src/bootfiles/18e/boot13.lisp: Change for all the package

	* src/code/exports.lisp: New package common-lisp,
	which lisp uses.

	* src/tools/worldload.lisp:
	* src/tools/setup.lisp: Use cl-user instead of user.
	Use lisp:: instead of cl::.

	* src/tools/worldcom.lisp:
	* src/tools/snapshot-update.lisp:
	* src/tools/pclcom.lisp:
	* src/tools/mk-lisp:
	* src/tools/hemcom.lisp:
	* src/tools/config.lisp:
	* src/tools/comcom.lisp:
	* src/tools/clxcom.lisp:
	* src/tools/clmcom.lisp:
	* src/pcl/defsys.lisp:
	* src/motif/lisp/initial.lisp:
	* src/interface/initial.lisp:
	* src/hemlock/lispmode.lisp (setup-lisp-mode):
	Use cl-user instead of user.

	* src/code/save.lisp (assert-user-package):
	* src/code/print.lisp (%with-standard-io-syntax): Find
	cl-user package instead of user.

	* src/code/package.lisp (package-locks-init): Add lisp.
	(package-init): Don't add user nickname to cl-user.

	* src/code/ntrace.lisp (*trace-encapsulate-package-names*):
	Add common-lisp.

	* src/code/hash.lisp (toplevel):
	* src/code/hash-new.lisp (toplevel): Use in-package :lisp
	instead of :common-lisp.

	* src/code/float-trap.lisp (sigfpe-handler): Don't
	qualify floating-point-inexact with ext:.

	* src/pcl/simple-streams/strategy.lisp (sc):
	* src/pcl/simple-streams/null.lisp (null-read-char):
	* src/pcl/simple-streams/internal.lisp (allocate-buffer)
	* src/pcl/simple-streams/impl.lisp (%check, %read-line)
	(%peek-char, %read-byte):
	* src/pcl/simple-streams/file.lisp (open-file-stream)
	* src/pcl/simple-streams/classes.lisp (simple-stream)
	* src/pcl/macros.lisp (toplevel):
	* src/pcl/braid.lisp (lisp::sxhash-instance):
	* src/pcl/env.lisp (toplevel):
	* src/compiler/generic/objdef.lisp (symbol-hash):
	* src/code/stream.lisp (read-sequence, write-sequence):
	* src/code/macros.lisp (defmacro, deftype):
	* src/code/eval.lisp (interpreted-function):
	* src/code/defstruct.lisp (defstruct):
	* src/code/debug.lisp (debug-eval-print): Use lisp:: instead
	of cl::.

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Jun 12 09:24:03 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25
	* src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add

Revision 1.25 - (view) (annotate) - [select for diffs]
Fri May 23 13:34:04 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.24: +17 -15 lines
Diff to previous 1.24
	Add fwrappers.  Rewrite TRACE and PROFILE to use fwrappers.
	To bootstrap, use boot12.lisp with pmai's scripts.

	* src/bootfiles/18e/boot12.lisp: New file.

	* src/tools/worldload.lisp, src/tools/worldcom.lisp:
	* src/tools/worldbuild.lisp: Add code:fwrappers.

	* src/docs/cmu-user/extensions.tex (Function Wrappers):
	New section.

	* src/code/fwrappers.lisp: New file.

	* src-fw/pcl/defs.lisp (gdefinition): Don't check for profiled

	* src-fw/code/exports.lisp: Add walker and fwrappers.

	* src-fw/code/fdefinition.lisp (fdefn-init): Set
	*valid-function-names* to nil.
	(encapsulation): Structure removed.
	(do-encapsulations, encapsulation, last-encapsulation)
	(push-encapsulation, encapsulate, unencapsulate, encapsulated-p):
	Removed.  There is a compatibility layer in fwrappers.lisp.
	(fdefinition, %set-fdefinition): Rewritten.

	* src/code/profile.lisp: Remove #+cmu and #-cmu.
	("PROFILE"): Use fwrappers.
	(*profile-info*): Removed.
	(profile-info): Redefined.
	(*existing-encapsulations*): Removed.
	(reset-profile-info, profile-info-profiling-values): New functions.
	(make-profile-encapsulation): Removed.
	(profile): New function name syntax.
	(make-profile-fwrapper-name, make-profile-fwrapper): New functions.
	(def-profile-fwrapper): Precompute some fwrappers.
	(ensure-profile-fwrapper, find-profile-fwrapper, pi-or-lose):
	New functions.
	(profile-1-function): Rewritten.
	(unprofile-1-function): Ditto.
	(re-profile-redefined-function): New function.
	(toplevel): Push it on *setf-fdefinition-hook*.

	* src/code/ntrace.lisp (trace-call): Removed.
	(trace-fwrapper): New fwrapper.
	(trace-1): Use fwrap instead of encapsulate.
	(untrace-1): Use funwrap instead of unencapsulate.

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu May 15 12:28:56 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.23: +14 -13 lines
Diff to previous 1.23
	Let TRACE and PROFILE ignore package locks.

	* src/code/ntrace.lisp (trace-1, untrace-1): Use

	* src/code/profile.lisp (make-profile-encapsulation)
	(unprofile-1-function): Use without-package-locks.
	(compute-time-overhead): Don't use without-package-locks.

Revision 1.23 - (view) (annotate) - [select for diffs]
Thu May 15 11:24:34 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.22: +59 -26 lines
Diff to previous 1.22
	Functions used in the implementation of TRACE can be traced using
	encapsulation.  Use encapsulation for functions from a given list
	of packages to automate this.

	* src/code/ntrace.lisp (*trace-encapsulate-package-names*): New
	(trace-call): Temporarily restore the unencapsulated definition of
	the function.
	(encapsulate-by-package-p): New function.
	(trace-1): Use it.

	* src/code/exports.lisp ("DEBUG"): Export

	* src/docs/cmu-user/debugger.tex (section{Function Tracing}):
	Add *trace-encapsulate-package-names*.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sun May 11 08:57:13 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.21: +9 -9 lines
Diff to previous 1.21
	If encapsulation is :default, encapsulate if we know function-end
	breakpoints can't be used.

	* src/code/ntrace.lisp (trace-1): Use

	* src/code/debug-int.lisp (can-set-function-end-breakpoint-p):
	New function.

Revision 1.21 - (view) (annotate) - [select for diffs]
Fri May 9 14:16:40 2003 UTC (10 years, 11 months ago) by emarsden
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20
 Fix a documentation typo.

Revision 1.20 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:20 2003 UTC (11 years ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.19: +46 -4 lines
Diff to previous 1.19
* bootfiles/18e/boot[12].lisp: Bootstrap files for the lisp:class
= pcl:class part.  To get it booted from 18e, cross-compile using
boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a
normal compile with boot2.lisp as bootstrap.lisp with the
resulting Lisp.

* code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp:
* code/error.lisp, code/exports.lisp, code/hash-new.lisp:
* code/hash.lisp, code/macros.lisp, code/misc.lisp:
* code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp:
* compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp:
* compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp:
* compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp:
Changes for to use kernel::class etc.

* code/class.lisp (toplevel): Shadow class, built-in-class etc.
(class): Give it conc-name %class-.
(toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors.
(everywhere): Use new class accessors.

* compiler/generic/vm-fndb.lisp (%make-instance): Change from
unsafe to flushable and movable.

* code/ntrace.lisp (expand-trace, untrace): Changes for method

* code/profile.lisp (profile, profile-all, unprofile): Method

* pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp:
* pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp:
* pcl/structure-class.lisp, pcl/user-instances.lisp:

* tools/pclcom.lisp: Changes for my PCL and lisp:class =

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Jan 29 21:48:40 2003 UTC (11 years, 2 months ago) by cracauer
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: cold-pcl, release-18e-branch
Changes since 1.18: +2 -2 lines
Diff to previous 1.18
When tracing, set the verbosity level of print-frame-call to 1.

If you use the *default-print-frame-call-verbosity* variable I
committed last week (to get source print along with frames in
backtraces) then you would also print the source in trace prints.

Revision 1.18 - (view) (annotate) - [select for diffs]
Thu Jan 23 21:05:34 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17
From Eric Marsden:

    fix typos in comments, signal more specific error types, remove
    some stale code, fix a few compiler warnings in the runtime.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sun Nov 30 13:54:57 1997 UTC (16 years, 4 months ago) by pw
Branch: MAIN
Branch point for: UNICODE-BRANCH
Changes since 1.16: +2 -2 lines
Diff to previous 1.16
Remove :cgc restriction on *trace-encapsulate-default*

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Nov 29 02:08:49 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15
Backout the previous commit, function tracing still doesn't work on a
CGC system, noted by Paul.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Nov 28 07:58:08 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
Function tracing should now work under CGC so it no longer needs to
use encapsulation by default.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Nov 4 14:52:27 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Only need to default to trace encapsulation with CGC.

Revision 1.13 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:50 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.12: +2 -2 lines
Diff to previous 1.12
Werkowskis source kit 1.03.7

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.11: +1 -3 lines
Diff to previous 1.11
Fix headed boilerplate.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Jun 23 19:33:02 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10
special-form-p -> special-operator-p

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Dec 8 20:10:16 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.9: +23 -15 lines
Diff to previous 1.9
Added pretty-printer directives so that arg lists and results print better.
[From Rob:] Fixed untrace-1 not to flame out when untracing untraced

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Jul 10 17:46:06 1992 UTC (21 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8
Changed to use PRINT-FRAME-CALL instead of the internal PRINT-CALL-FRAME-1.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed May 27 01:09:51 1992 UTC (21 years, 10 months ago) by ram
Branch: MAIN
Branch point for: patch_16
Changes since 1.7: +595 -274 lines
Diff to previous 1.7
Substantially rewritten.  TRACE has a new syntax.  It now subsumes the old
encapsulation-based trace via the :ENCAPSULATE option.  Interpreted functions
and generic functions are traced via encapsulation by default, which works.
Conditional stuff works much better.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri May 15 18:31:05 1992 UTC (21 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.6: +105 -101 lines
Diff to previous 1.6
Fixed to actually allow tracing anonymous function objects.  Changed to allow
tracing of macros.  When tracing an already traced function, untrace and
retrace it, instead of ignoring the second request.  Moved the undefined error
for UNTRACE to the UNTRACE-1 subfunction, instead of signalling it at
macroexpand time.  In TRACE-1, added an assertion that there isn't already an
entry in the trace breakpoint table, since sometimes we seem to be forgetting
about breakpoints.

Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Mar 10 18:37:08 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.5: +9 -7 lines
Diff to previous 1.5
Bind debug:*stack-top-hint* before calling break.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Mar 10 15:55:28 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.4: +2 -6 lines
Diff to previous 1.4
Don't bother warning about dynamic flow of control, because it is obvious
from the call depth numbers and the warning can happen at real confusing

Revision 1.4 - (view) (annotate) - [select for diffs]
Tue Nov 26 17:54:03 1991 UTC (22 years, 4 months ago) by chiles
Branch: MAIN
Changes since 1.3: +116 -90 lines
Diff to previous 1.3
Made TRACE and UNTRACE handle function objects as well as function names.

Made calling UNTRACE while with a BREAK from TRACE'ing work fine.  No output
occurs at the end of the call even though there was TRACE output at the
beginning of the call before going into the BREAK loop.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Nov 15 14:52:27 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.2: +4 -35 lines
Diff to previous 1.2
Changed to use DESTRUCTING-BIND instead of WITH-KEYWORDS, so we get some error
checking, and stop using that old crock.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sun Nov 3 17:21:16 1991 UTC (22 years, 5 months ago) by chiles
Branch: MAIN
Changes since 1.1: +144 -51 lines
Diff to previous 1.1
Added CLEAR-TRACE-BREAKPOINT-RECORD to ext:*setf-fdefinition-hook*.

Fixed package system, so the old TRACE and new one didn't conflict with
variable names.

Added debug:*trace-frame* to support users who want to enter expressions for
evaluation in the frame.  This is described in the TRACE doc string.

Fixed TRACE interface to support any function name, not just symbols.
Underlying support allowed this, but TRACE complained when it inspected its

Added full support for documented interface of TRACE since before it only
allowed users to see arguments and output without conditionalization, printing,

Revision 1.1 - (view) (annotate) - [select for diffs]
Sun Oct 13 14:29:30 1991 UTC (22 years, 6 months ago) by chiles
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5