[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-commits
Subject:    [Sbcl-commits] CVS: sbcl/tests dynamic-extent.impure.lisp, 1.19,
From:       Nikodemus Siivola <demoss () users ! sourceforge ! net>
Date:       2007-09-26 15:55:03
Message-ID: E1IaZE7-0007Pt-UH () sc8-pr-cvs8 ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/sbcl/sbcl/tests
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28400/tests

Modified Files:
	dynamic-extent.impure.lisp 
Log Message:
1.0.10.6: nested DX allocation

* RECOGNIZE-DYNAMIC-EXTENT-LVARS needs to propagate DX information to
  combination arguments, so that

  (LET ((X (LIST (LIST 1 2) (LIST 3 4))))
    (DECLARE (DYNAMIC-EXTENT X))
    (FOO X))

  does the right thing.


Index: dynamic-extent.impure.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tests/dynamic-extent.impure.lisp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- dynamic-extent.impure.lisp	26 Sep 2007 15:44:23 -0000	1.19
+++ dynamic-extent.impure.lisp	26 Sep 2007 15:54:58 -0000	1.20
@@ -146,6 +146,20 @@
     (true cons)
     nil))
 
+;;; Nested DX
+
+(defun-with-dx nested-dx-lists ()
+  (let ((dx (list (list 1 2) (list 3 4))))
+    (declare (dynamic-extent dx))
+    (true dx)
+    nil))
+
+(defun-with-dx nested-dx-conses ()
+  (let ((dx (cons 1 (cons 2 (cons 3 (cons (cons t t) nil))))))
+    (declare (dynamic-extent dx))
+    (true dx)
+    nil))
+
 ;;; with-spinlock should use DX and not cons
 
 (defvar *slock* (sb-thread::make-spinlock :name "slocklock"))
@@ -185,6 +199,8 @@
   (assert-no-consing (test-lvar-subst 11))
   (assert-no-consing (dx-value-cell 13))
   (assert-no-consing (cons-on-stack 42))
+  (assert-no-consing (nested-dx-conses))
+  (assert-no-consing (nested-dx-lists))
   ;; Not strictly DX..
   (assert-no-consing (test-hash-table))
   #+sb-thread


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Sbcl-commits mailing list
Sbcl-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic