From ecec63b93bf615cf325696c7d899f644d70e9bf1 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Sun, 3 May 1992 21:45:07 +0000 Subject: [PATCH] Changed fixed value unknown-return of 1 value to use the ``return-single'' VOP instead of expecting the ``return'' VOP to special case the one value case. This allows different us to have lifetime information in the single vs non-single cases. --- compiler/ir2tran.lisp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/compiler/ir2tran.lisp b/compiler/ir2tran.lisp index 4f154b711..1671f061b 100644 --- a/compiler/ir2tran.lisp +++ b/compiler/ir2tran.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir2tran.lisp,v 1.41 1992/03/11 21:23:41 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir2tran.lisp,v 1.42 1992/05/03 21:45:07 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -21,7 +21,7 @@ (export '(%caller-frame-and-pc)) (in-package "C") -(export '(safe-fdefn-function)) +(export '(safe-fdefn-function return-single)) @@ -1204,10 +1204,12 @@ (emit-move node block val loc)) cont-locs locs) - (vop* return node block - (old-fp return-pc (reference-tn-list locs nil)) - (nil) - nvals))) + (if (= nvals 1) + (vop return-single node block old-fp return-pc (car locs)) + (vop* return node block + (old-fp return-pc (reference-tn-list locs nil)) + (nil) + nvals)))) (t (assert (eq cont-kind :unknown)) (vop* return-multiple node block -- GitLab