From dcfb619859033d41050d6cd014c83fb3323f6dd4 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Sat, 20 Apr 1991 17:07:59 +0000
Subject: [PATCH] Compute the LRA later during a full-call so that the lifetime
 info is correct.

---
 compiler/rt/call.lisp | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/compiler/rt/call.lisp b/compiler/rt/call.lisp
index 75ccdf357..85e9d8439 100644
--- a/compiler/rt/call.lisp
+++ b/compiler/rt/call.lisp
@@ -744,10 +744,6 @@ default-value-5
 	       `((inst li nargs-pass (fixnum nargs))))
  
 
-	 ,@(unless (eq return :tail)
-	     `((inst compute-lra-from-code
-		     return-pc-pass code-tn lra-label)))
-
 	 ,@(if named
 	       `((move name-pass name)
 		 (loadw lip name-pass vm:symbol-raw-function-addr-slot
@@ -766,7 +762,9 @@ default-value-5
 		   (inst cal nsp-tn cur-nfp
 			 (component-non-descriptor-stack-usage)))
 		 (inst b lip))
-	       `((move old-fp-pass cfp-tn)
+	       `((inst compute-lra-from-code
+		       return-pc-pass code-tn lra-label)
+		 (move old-fp-pass cfp-tn)
 		 (when cur-nfp
 		   (store-stack-tn cur-nfp nfp-save))
 		 ,(if variable
-- 
GitLab