mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
0.8.8.23.stack.4:
* Fix bug MISC.295: in DF ordering take into account hidden
control transfers to NLEs.
This commit is contained in:
parent
f1e093e0f8
commit
14ff2ab5d8
|
|
@ -91,6 +91,18 @@
|
|||
(setf (block-flag block) t)
|
||||
(dolist (succ (block-succ block))
|
||||
(find-dfo-aux succ head component))
|
||||
(when (component-nlx-info-generated-p component)
|
||||
;; FIXME: We also need (and do) this walk before physenv
|
||||
;; analysis, but at that time we are probably not very
|
||||
;; interested in the actual DF order.
|
||||
;;
|
||||
;; TODO: It is probable that one of successors have the same (or
|
||||
;; similar) set of NLXes; try to shorten the walk (but think
|
||||
;; about a loop, the only exit from which is non-local).
|
||||
(map-block-nlxes (lambda (nlx-info)
|
||||
(let ((nle (nlx-info-target nlx-info)))
|
||||
(find-dfo-aux nle head component)))
|
||||
block))
|
||||
(remove-from-dfo block)
|
||||
(add-to-dfo block head))
|
||||
(values))
|
||||
|
|
|
|||
|
|
@ -373,7 +373,8 @@
|
|||
;; inline expansion. Unlike NEW-FUNCTIONALS, this is not disjoint
|
||||
;; from COMPONENT-LAMBDAS.
|
||||
(reanalyze-functionals nil :type list)
|
||||
(delete-blocks nil :type list))
|
||||
(delete-blocks nil :type list)
|
||||
(nlx-info-generated-p nil :type boolean))
|
||||
(defprinter (component :identity t)
|
||||
name
|
||||
#!+sb-show id
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
(setf (functional-kind fun) nil)
|
||||
(delete-functional fun)))))
|
||||
|
||||
(setf (component-nlx-info-generated-p component) t)
|
||||
(values))
|
||||
|
||||
;;; This is to be called on a COMPONENT with top level LAMBDAs before
|
||||
|
|
|
|||
|
|
@ -1169,6 +1169,18 @@
|
|||
nil)))
|
||||
1 2)))
|
||||
|
||||
;;; misc.295
|
||||
(assert (eql
|
||||
(funcall
|
||||
(compile
|
||||
nil
|
||||
'(lambda ()
|
||||
(declare (optimize (speed 1) (space 0) (safety 0) (debug 0)))
|
||||
(multiple-value-prog1
|
||||
(the integer (catch 'ct8 (catch 'ct7 15867134)))
|
||||
(catch 'ct1 (throw 'ct1 0))))))
|
||||
15867134))
|
||||
|
||||
|
||||
;;; MISC.275
|
||||
(assert
|
||||
|
|
|
|||
|
|
@ -17,4 +17,4 @@
|
|||
;;; 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".)
|
||||
"0.8.8.23.stack.3"
|
||||
"0.8.8.23.stack.4"
|
||||
|
|
|
|||
Loading…
Reference in a new issue