Commit [970dd2] Maximize Restore History

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.

Juho Snellman Juho Snellman 2006-09-13

1 2 > >> (Page 1 of 2)
added src/code/early-full-eval.lisp
added src/code/full-eval.lisp
changed contrib/sb-cltl2/compiler-let.lisp
changed contrib/sb-introspect/sb-introspect.lisp
changed doc/manual/compiler.texinfo
changed src/code/class.lisp
changed src/code/cold-init.lisp
changed src/code/defboot.lisp
changed src/code/deftypes-for-target.lisp
changed src/code/describe.lisp
changed src/code/early-extensions.lisp
changed src/code/eval.lisp
changed src/code/inspect.lisp
changed src/code/late-type.lisp
changed src/code/print.lisp
changed src/code/target-alieneval.lisp
changed src/code/target-misc.lisp
changed src/code/target-thread.lisp
changed src/code/time.lisp
changed src/compiler/generic/vm-tran.lisp
changed src/compiler/ir1util.lisp
changed src/compiler/target-main.lisp
changed src/pcl/ctor.lisp
changed src/pcl/defclass.lisp
changed src/pcl/documentation.lisp
src/code/early-full-eval.lisp Diff Switch to side-by-side view
Loading...
src/code/full-eval.lisp Diff Switch to side-by-side view
Loading...
contrib/sb-cltl2/compiler-let.lisp Diff Switch to side-by-side view
Loading...
contrib/sb-introspect/sb-introspect.lisp Diff Switch to side-by-side view
Loading...
doc/manual/compiler.texinfo Diff Switch to side-by-side view
Loading...
src/code/class.lisp Diff Switch to side-by-side view
Loading...
src/code/cold-init.lisp Diff Switch to side-by-side view
Loading...
src/code/defboot.lisp Diff Switch to side-by-side view
Loading...
src/code/deftypes-for-target.lisp Diff Switch to side-by-side view
Loading...
src/code/describe.lisp Diff Switch to side-by-side view
Loading...
src/code/early-extensions.lisp Diff Switch to side-by-side view
Loading...
src/code/eval.lisp Diff Switch to side-by-side view
Loading...
src/code/inspect.lisp Diff Switch to side-by-side view
Loading...
src/code/late-type.lisp Diff Switch to side-by-side view
Loading...
src/code/print.lisp Diff Switch to side-by-side view
Loading...
src/code/target-alieneval.lisp Diff Switch to side-by-side view
Loading...
src/code/target-misc.lisp Diff Switch to side-by-side view
Loading...
src/code/target-thread.lisp Diff Switch to side-by-side view
Loading...
src/code/time.lisp Diff Switch to side-by-side view
Loading...
src/compiler/generic/vm-tran.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ir1util.lisp Diff Switch to side-by-side view
Loading...
src/compiler/target-main.lisp Diff Switch to side-by-side view
Loading...
src/pcl/ctor.lisp Diff Switch to side-by-side view
Loading...
src/pcl/defclass.lisp Diff Switch to side-by-side view
Loading...
src/pcl/documentation.lisp Diff Switch to side-by-side view
Loading...
1 2 > >> (Page 1 of 2)