* bug fix: instances of non-standard metaclasses using standard
instance structure protocol sometimes missed the slot type checks
in safe code.
+ * bug fix: known functions can be inlined in high-debug code.
changes in sbcl-1.0.10 relative to sbcl-1.0.9:
* minor incompatible change: the MSI installer on Windows no longer
(:inline t)
(:no-chance nil)
((nil :maybe-inline) (policy call (zerop space))))
- ;; FIXME & KLUDGE: This LET-CONVERSION check was added as a
- ;; half-assed workaround for the bug for which the test
- ;; case :HIGH-DEBUG-KNOWN-FUNCTION-INLINING checks in
- ;; compiler.pure.lisp. The _real_ culprit seems to be
- ;; the insertion of BIND/UNBIND-SENTINEL vops.
- (policy call (plusp let-conversion))
(defined-fun-p leaf)
(defined-fun-inline-expansion leaf)
(let ((fun (defined-fun-functional leaf)))
(ir2-physenv-return-pc env))
#!+unwind-to-frame-and-call-vop
- (when (and (policy fun (>= insert-debug-catch 2))
- (lambda-return fun))
+ (when (and (lambda-allow-instrumenting fun)
+ (lambda-return fun)
+ (policy fun (>= insert-debug-catch 2)))
(vop sb!vm::bind-sentinel node block))
(let ((lab (gen-label)))
(return-pc (ir2-physenv-return-pc env))
(returns (tail-set-info (lambda-tail-set fun))))
#!+unwind-to-frame-and-call-vop
- (when (policy fun (>= insert-debug-catch 2))
+ (when (and (lambda-allow-instrumenting fun)
+ (policy fun (>= insert-debug-catch 2)))
(vop sb!vm::unbind-sentinel node block))
(cond
((and (eq (return-info-kind returns) :fixed)
(call-lexenv nil :type (or lexenv null))
;; list of embedded lambdas
(children nil :type list)
- (parent nil :type (or clambda null)))
+ (parent nil :type (or clambda null))
+ (allow-instrumenting *allow-instrumenting* :type boolean))
(defprinter (clambda :conc-name lambda- :identity t)
%source-name
%debug-name
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.10.46"
+"1.0.10.47"