Update of /cvsroot/sbcl/sbcl/src/compiler
In directory usw-pr-cvs1:/tmp/cvs-serv24404/src/compiler
Modified Files:
array-tran.lisp
Log Message:
0.7.4.1:
Apply patch to type system (CSR sbcl-devel 2002-05-23) to generate
more useful types from intersections of complicated numeric
types;
Be more consistent over handling of wild pathnames to functions
expecting non-wild pathnames;
Apply two slight optimizations to array transforms;
Fix (from Pierre Mai) for BUG 140; treat with (slight) care, as this
removes an explicit request for non-invalidation of a wrapper,
which presumably had some reason for being there at one time.
Index: array-tran.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/array-tran.lisp,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** array-tran.lisp 3 May 2002 14:59:15 -0000 1.27
--- array-tran.lisp 26 May 2002 15:00:23 -0000 1.28
***************
*** 513,522 ****
;; success
(values ,n-array ,n-svalue ,n-end 0)
! ;; failure: Make a NOTINLINE call to
! ;; %WITH-ARRAY-DATA with our bad data
! ;; to cause the error to be signalled.
! (locally
! (declare (notinline %with-array-data))
! (%with-array-data ,n-array ,n-svalue ,n-evalue)))))
(,(if force-inline '%with-array-data-macro '%with-array-data)
,n-array ,n-svalue ,n-evalue))
--- 513,517 ----
;; success
(values ,n-array ,n-svalue ,n-end 0)
! (failed-%with-array-data ,n-array ,n-svalue ,n-evalue))))
(,(if force-inline '%with-array-data-macro '%with-array-data)
,n-array ,n-svalue ,n-evalue))
***************
*** 562,575 ****
(deftransform %with-array-data ((array start end)
! ;; Note: This transform is limited to
! ;; VECTOR only because I happened to
! ;; create it in order to get sequence
! ;; function operations to be more
! ;; efficient. It might very well be
! ;; reasonable to allow general ARRAY
! ;; here, I just haven't tried to
! ;; understand the performance issues
! ;; involved. -- WHN
! (vector index (or index null))
*
:important t
--- 557,566 ----
(deftransform %with-array-data ((array start end)
! ;; It might very well be reasonable to
! ;; allow general ARRAY here, I just
! ;; haven't tried to understand the
! ;; performance issues involved. --
! ;; WHN, and also CSR 2002-05-26
! (simple-array index (or index null))
*
:important t
|