Fix for various ANSI test cases that fail when compiled because
argument type checks are constant-folded away. * src/compiler/ir1opt.lisp (constant-fold-call): In safe code, don't constant-fold a call if one of its arguments requires a type check. * src/compiler/checkgen.lisp (probable-type-check-p): Return true for :error type-checks if safety = 3. Fix ENDP.* test failures when running tests compiled. From SBCL, basically. * src/compiler/ir1opt.lisp (ir1-optimize, ir1-optimize-if): Don't eliminate if-tests requiring type checks. * src/compiler/checkgen.lisp (continuation-check-types): Add parameter force-hairy. (generate-type-checks): Call continuation-check-types with force-hairy true for :error continuations in safe code.
Loading
Please register or sign in to comment