0.8.4.2:
* Changes in type checking:
... test for NIL has zero cost;
... add NULL to types of optional arguments (fix bug 261);
... change implementation of "external type check":
... new kind of CAST-TYPE-CHECK;
... detect blocks of externally checkable CASTs by
backward walking of a component;
... merge unsafe CASTs in IR1-FINALIZE ( bug 282);
... consider known call of a function without applicable
:FAST-SAFE templates to be full;
* print CTRAN numbers in component dumps;
* fix bug 214, also reported by rydis on #lisp: in
NOTE-REJECTED-TEMPLATES ignore :FAST-SAFE templates for
:SAFE policy;
* DO-NODE-BACKWARDS: stop when faced with a CTRAN with no use
(bug reported by Paul Dietz);
* TWO-ARG-DERIVE-TYPE: when deriving type for constant
arguments, if the function signals an error return type NIL
(bug reported by Paul Dietz);
* fix TRUNCATE optimizer for (+ -) arguments (bugs 293, 294
reported by Paul Dietz);
* tests/compiler.impure-cload.lisp: switch to CL-USER package
before deleting temporal one.
15 files changed: