From 09fb062f9a3d7c9d76e0a0e2c6765363cea7c941 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 5 Nov 1991 17:36:08 +0000
Subject: [PATCH] Fixed REVERSE-FIND-VOP to correctly handle searches in
 overflow blocks.

---
 compiler/pack.lisp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/compiler/pack.lisp b/compiler/pack.lisp
index e50e6e8f3..0d13450e8 100644
--- a/compiler/pack.lisp
+++ b/compiler/pack.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/pack.lisp,v 1.42 1991/09/28 12:38:00 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/pack.lisp,v 1.43 1991/11/05 17:36:08 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -516,10 +516,11 @@
 ;;; VOP.  We must find the VOP in the same IR1 block.
 ;;;
 (defun reverse-find-vop (name vop)
-  (do ((block (vop-block vop) (ir2-block-prev block)))
-      (nil)
+  (do* ((block (vop-block vop) (ir2-block-prev block))
+	(last vop (ir2-block-last-vop block)))
+       (nil)
     (assert (eq (ir2-block-block block) (ir2-block-block (vop-block vop))))
-    (do ((current vop (vop-prev current)))
+    (do ((current last (vop-prev current)))
 	((null current))
       (when (eq (vop-info-name (vop-info current)) name)
 	(return-from reverse-find-vop current)))))
-- 
GitLab