0.9.16.27:
authorJuho Snellman <jsnell@iki.fi>
Wed, 13 Sep 2006 15:59:31 +0000 (15:59 +0000)
committerJuho Snellman <jsnell@iki.fi>
Wed, 13 Sep 2006 15:59:31 +0000 (15:59 +0000)
commit970dd272dc84f7420252eadb4829cc193f795716
tree437bfbfb86c8982ed41702335a36a0ad7b35d102
parent485d9c8e2d3a4ae0561cd57b55a6c6a28cd4bce4
0.9.16.27:
        Add an interpreting EVAL, for cases where the compiler is
        unsuitable due to e.g. compilation overhead.

        * The old EVAL is still the default. To use the new one,
          (SETF SB-EXT:*EVALUATOR-MODE* :INTERPRET).

          Making the interpreter the default might be the purer
          choice, since there's a standard way of ensuring that code
          is compiled, and no standard way of ensuring that it's
          not. On the other hand, there are practical reasons for
          keeping the compiler as the default. The interpreter is very
          slow, doesn't have proper debugger support (either for
          backtraces or inspecting frames), and it doesn't have
          stepper support.

        * The interpreter doesn't treat THE or type declarations for
          lexical variables as assertions. The regression tests that
          assume otherwise have been disabled when running in
          interpreted mode. The intepreter will however type-check the
          proclaimed types of specials.
47 files changed:
CREDITS
NEWS
base-target-features.lisp-expr
build-order.lisp-expr
contrib/sb-cltl2/compiler-let.lisp
contrib/sb-introspect/sb-introspect.lisp
doc/manual/compiler.texinfo
package-data-list.lisp-expr
src/code/class.lisp
src/code/cold-init.lisp
src/code/defboot.lisp
src/code/deftypes-for-target.lisp
src/code/describe.lisp
src/code/early-extensions.lisp
src/code/early-full-eval.lisp [new file with mode: 0644]
src/code/eval.lisp
src/code/full-eval.lisp [new file with mode: 0644]
src/code/inspect.lisp
src/code/late-type.lisp
src/code/print.lisp
src/code/target-alieneval.lisp
src/code/target-misc.lisp
src/code/target-thread.lisp
src/code/time.lisp
src/compiler/generic/vm-tran.lisp
src/compiler/ir1util.lisp
src/compiler/target-main.lisp
src/pcl/ctor.lisp
src/pcl/defclass.lisp
src/pcl/documentation.lisp
src/pcl/low.lisp
tests/arith.pure.lisp
tests/clos.impure.lisp
tests/compiler.impure.lisp
tests/compiler.pure.lisp
tests/compiler.test.sh
tests/debug.impure.lisp
tests/defstruct.impure.lisp
tests/dynamic-extent.impure.lisp
tests/finalize.test.sh
tests/full-eval.impure.lisp [new file with mode: 0644]
tests/lambda-list.pure.lisp
tests/loop.pure.lisp
tests/package-locks.impure.lisp
tests/seq.impure.lisp
tests/type.pure.lisp
version.lisp-expr