1.0.17.3: unify CONSTANT nodes for DEFCONSTANT and literal constants
commit6075b05401346ac20ec9a647fe192a2a959f3882
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 28 May 2008 16:23:12 +0000 (28 16:23 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Wed, 28 May 2008 16:23:12 +0000 (28 16:23 +0000)
treee288e9d41f623537922e5187f803b6bd13e96f9a
parent19bea9573cb7d5728fe91d6a949ca8303dc78100
1.0.17.3:  unify CONSTANT nodes for DEFCONSTANT and literal constants

 * Prevents at least some cases which used to introduce duplicate
   constants into code objects.

 * The above causes all CONSTANTS being :DEFINED and anonymous, which
   is generally speaking not a problem, but causes trouble for XREF,
   which wants to generate REFERENCES information for constants as
   well. ...so, we add a %SOURCE-NAME slot to REF, allowing us to have
   references to a shared constant under multiple names.

 * Test-case.
src/compiler/ir1tran.lisp
src/compiler/ir1util.lisp
src/compiler/node.lisp
src/compiler/xref.lisp
tests/compiler.impure.lisp
version.lisp-expr