From 13c523a303571a8978d66a22ba910fea1b46b291 Mon Sep 17 00:00:00 2001 From: Juho Snellman Date: Sun, 19 Dec 2010 01:29:05 +0000 Subject: [PATCH] 1.0.45.4: Revert 1.0.44.34 * Caused CLX compilation to fail, added reduced test case by Larry Valkama. --- src/compiler/gtn.lisp | 10 ---------- tests/compiler.pure.lisp | 10 ++++++++++ version.lisp-expr | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/compiler/gtn.lisp b/src/compiler/gtn.lisp index b665ddf..ca2c23f 100644 --- a/src/compiler/gtn.lisp +++ b/src/compiler/gtn.lisp @@ -56,16 +56,6 @@ ;; live over the dynamic contour of the physenv. (setf (tn-sc res) (svref *backend-sc-numbers* sb!vm:control-stack-sc-number)) - ;; KLUDGE: In the case of a tail-local-call, the entire - ;; stack frame is overwritten by the physenv of the called - ;; function. Unfortunately, the tail-call appears to end - ;; the dynamic contour of the physenv, meaning that the - ;; stack slot occupied by the LAMBDA-VAR may be reassigned. - ;; Ideally, we might make the TN physenv-live across the - ;; physenvs of the tail-set of the lambda, but as a stopgap - ;; we can make it component-live instead. - (component-live-tn res) - #+(or) (physenv-live-tn res (lambda-physenv fun))) (debug-variable-p diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index 060010b..37bf669 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -3750,3 +3750,13 @@ (sum-d 15)))) 233168))) (assert (>= (* 10 (1+ time-2/simple)) time-2/hairy))))) + +(with-test (:name :regression-1.0.44.34) + (compile nil '(lambda (z &rest args) + (declare (dynamic-extent args)) + (flet ((foo (w v) (list v w))) + (setq z 0) + (flet ((foo () + (foo z args))) + (declare (sb-int:truly-dynamic-extent #'foo)) + (call #'foo nil)))))) diff --git a/version.lisp-expr b/version.lisp-expr index b8b8868..eae7941 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -20,4 +20,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".) -"1.0.45.3" +"1.0.45.4" -- 1.7.10.4