projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.16.33: UNION and NUNION work with :TEST-NOT again
[sbcl.git]
/
src
/
compiler
/
ir2tran.lisp
diff --git
a/src/compiler/ir2tran.lisp
b/src/compiler/ir2tran.lisp
index
ebc963c
..
f2c5381
100644
(file)
--- a/
src/compiler/ir2tran.lisp
+++ b/
src/compiler/ir2tran.lisp
@@
-57,7
+57,10
@@
(defun emit-make-value-cell (node block value res)
(event make-value-cell-event node)
(let ((leaf (tn-leaf res)))
(defun emit-make-value-cell (node block value res)
(event make-value-cell-event node)
(let ((leaf (tn-leaf res)))
- (vop make-value-cell node block value (and leaf (leaf-dynamic-extent leaf))
+ (vop make-value-cell node block value
+ (and leaf (leaf-dynamic-extent leaf)
+ ;; FIXME: See bug 419
+ (policy node (> stack-allocate-value-cells 1)))
res)))
\f
;;;; leaf reference
res)))
\f
;;;; leaf reference
@@
-1181,8
+1184,10
@@
(ir2-physenv-return-pc env))
#!+unwind-to-frame-and-call-vop
(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)
+ (not (lambda-inline-expanded fun))
+ (lambda-return fun)
+ (policy fun (>= insert-debug-catch 2)))
(vop sb!vm::bind-sentinel node block))
(let ((lab (gen-label)))
(vop sb!vm::bind-sentinel node block))
(let ((lab (gen-label)))
@@
-1211,7
+1216,9
@@
(return-pc (ir2-physenv-return-pc env))
(returns (tail-set-info (lambda-tail-set fun))))
#!+unwind-to-frame-and-call-vop
(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)
+ (not (lambda-inline-expanded fun))
+ (policy fun (>= insert-debug-catch 2)))
(vop sb!vm::unbind-sentinel node block))
(cond
((and (eq (return-info-kind returns) :fixed)
(vop sb!vm::unbind-sentinel node block))
(cond
((and (eq (return-info-kind returns) :fixed)