From f2792f68f2c899727164afaff80df604197b4b71 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Sat, 10 Mar 1990 17:04:01 +0000
Subject: [PATCH] Added ELSEWHERE-START and ENVIRONMENT-START slots to
 IR2-ENVIRONMENT.

---
 compiler/vop.lisp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/compiler/vop.lisp b/compiler/vop.lisp
index cfe89de31..98c576465 100644
--- a/compiler/vop.lisp
+++ b/compiler/vop.lisp
@@ -408,8 +408,18 @@
   ;;
   ;; A list of all the IR2-Blocks in this environment, threaded by
   ;; IR2-Block-Environment-Next.  This is filled in by control analysis.
-  (blocks nil :type (or ir2-block null)))
-
+  (blocks nil :type (or ir2-block null))
+  ;;
+  ;; A label that marks the start of elsewhere code for this function.  Null
+  ;; until this label is assigned by codegen.  Used for maintaining the debug
+  ;; source map.
+  (elsewhere-start nil :type (or label null))
+  ;;
+  ;; A label that marks the first location in this function at which the
+  ;; environment is properly initialized, i.e. arguments moved from their
+  ;; passing locations, etc.  This is the start of the function as far as the
+  ;; debugger is concerned.
+  (environment-start nil :type (or label null)))
 
 (defprinter ir2-environment
   arg-locs
-- 
GitLab