1.0.0.18:
authorJuho Snellman <jsnell@iki.fi>
Tue, 5 Dec 2006 04:35:55 +0000 (04:35 +0000)
committerJuho Snellman <jsnell@iki.fi>
Tue, 5 Dec 2006 04:35:55 +0000 (04:35 +0000)
commitcb83aa22932bf4b9bc74ac6f0fcd91db1702ad33
treea8e32e17246168cce4447d4c34c667547574e93d
parentc6ca3162c8abd6ae9cce613f5df5778405806e60
1.0.0.18:
        Add an xref facility, exported from sb-introspect.

        * Support who-calls/macroexpands/binds/sets/references, with
          full source path information for extra Slime-goodness.
        * Only causes relatively small amounts of compilation slowdown
          or fasl bloat, so enable it by default (unless (= SPEED 3)).
        * Does not handle: expanded compiler-macros, code in macrolet
          definition bodies, toplevel code
        * Xref data is currently stored in a new simple-fun slot (the
          FUN_RAW_ADDR mess has been cleaned up a little), in reverse
          format (that is, we store who-is-called rather than who-calls).
        * sb-introspect gets access to the simple-funs through the
          infodb, so each lookup requires looping through the whole
          db. This is snappy enough on my machine even with lots of
          code loaded, but some other storage strategy might be
          worth looking at later.
27 files changed:
NEWS
build-order.lisp-expr
contrib/sb-introspect/sb-introspect.lisp
contrib/sb-introspect/test-driver.lisp
contrib/sb-introspect/xref-test-data.lisp [new file with mode: 0644]
contrib/sb-introspect/xref-test.lisp [new file with mode: 0644]
package-data-list.lisp-expr
src/code/defmacro.lisp
src/code/early-fasl.lisp
src/code/fop.lisp
src/code/function-names.lisp
src/compiler/dump.lisp
src/compiler/entry.lisp
src/compiler/generic/genesis.lisp
src/compiler/generic/objdef.lisp
src/compiler/generic/target-core.lisp
src/compiler/ir1report.lisp
src/compiler/ir1tran.lisp
src/compiler/main.lisp
src/compiler/node.lisp
src/compiler/policies.lisp
src/compiler/vop.lisp
src/compiler/xref.lisp [new file with mode: 0644]
src/runtime/gc-common.c
src/runtime/gc-internal.h
src/runtime/purify.c
version.lisp-expr