diff --git a/compiler/pack.lisp b/compiler/pack.lisp index e50e6e8f36cb7721be8ed8064f0cb49ede6b2858..0d13450e86f5783b5c2d2ffda0a4876d7b81c685 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)))))