From 66d7736dfe745c30295bdfb5f0f31bca61ea99f5 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Sat, 10 Mar 1990 16:58:03 +0000 Subject: [PATCH] Pass the ENTRY-INFO-OFFSET label to the ALLOCATE-FRAME VOP so that it can emit it where it sees fit. At the end of IR2-CONVERT-BIND, emit a make the ENVIRONMENT-START label and pass it to NOTE-ENVIRONMENT-START VOP. --- compiler/ir2tran.lisp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/ir2tran.lisp b/compiler/ir2tran.lisp index 67e2d8b98..d698f280b 100644 --- a/compiler/ir2tran.lisp +++ b/compiler/ir2tran.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir2tran.lisp,v 1.4 1990/03/05 12:13:49 ram Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir2tran.lisp,v 1.5 1990/03/10 16:58:03 ram Exp $ ;;; ;;; This file contains the virtual machine independent parts of the code ;;; which does the actual translation of nodes to VOPs. @@ -1182,7 +1182,7 @@ ;;; (defun init-xep-environment (node block fun) (declare (type bind node) (type ir2-block block) (type clambda fun)) - (vop allocate-frame node block) + (vop allocate-frame node block (entry-info-offset (leaf-info fun))) (let ((ef (functional-entry-function fun))) (when (and (optional-dispatch-p ef) (optional-dispatch-more-entry ef)) @@ -1244,7 +1244,11 @@ (when (ir2-environment-return-pc env) (move-from-frame node block (ir2-environment-return-pc-pass env) - (ir2-environment-return-pc env) argp))) + (ir2-environment-return-pc env) argp)) + + (let ((lab (gen-label))) + (setf (ir2-environment-environment-start env) lab) + (vop note-environment-start node block lab))) (undefined-value)) -- GitLab