1.0.13.35: preserve source- and debug-name in IR1-OPTIMIZE-MV-CALL
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 15 Jan 2008 11:59:30 +0000 (11:59 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 15 Jan 2008 11:59:30 +0000 (11:59 +0000)
 * Copying them from the original leaf before converting the
   replacement function.

src/compiler/ir1opt.lisp
src/compiler/node.lisp
version.lisp-expr

index d2008e7..3a495b4 100644 (file)
             (with-ir1-environment-from-node node
               (let* ((dums (make-gensym-list count))
                      (ignore (gensym))
+                     (leaf (ref-leaf ref))
                      (fun (ir1-convert-lambda
                            `(lambda (&optional ,@dums &rest ,ignore)
                               (declare (ignore ,ignore))
-                              (funcall ,(ref-leaf ref) ,@dums)))))
+                              (%funcall ,leaf ,@dums))
+                           :source-name (leaf-%source-name leaf)
+                           :debug-name (leaf-%debug-name leaf))))
                 (change-ref-leaf ref fun)
                 (aver (eq (basic-combination-kind node) :full))
                 (locall-analyze-component *current-component*)
index 7240178..cb88d83 100644 (file)
       ;; it looks as though it's never interesting to get debug names
       ;; from them, so it's moot. -- WHN)
       (leaf-source-name leaf)))
+(defun leaf-%debug-name (leaf)
+  (when (functional-p leaf)
+    (functional-%debug-name leaf)))
 
 ;;; The CONSTANT structure is used to represent known constant values.
 ;;; If NAME is not null, then it is the name of the named constant
index 253e9e6..7017803 100644 (file)
@@ -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".)
-"1.0.13.34"
+"1.0.13.35"