Skip to content
Snippets Groups Projects
Commit 3a31421d authored by wlott's avatar wlott
Browse files

Fixed unbind-to-here to only load the symbol from the binding stack if we

are going to unbind it.  This fixes an off-by-one bug where it tried to
grab a symbol from beyond the end of the stack when the entire stack was
being unwound.
parent 3daf1ba6
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
;;; Scott Fahlman (FAHLMAN@CMUC).
;;; **********************************************************************
;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/cell.lisp,v 1.6 1991/03/23 12:32:31 wlott Exp $
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/cell.lisp,v 1.7 1991/09/18 06:22:55 wlott Exp $
;;;
;;; This file contains the VM definition of various primitive memory access
;;; VOPs for the SPARC.
......@@ -272,9 +272,10 @@
(move where arg)
(inst cmp where bsp-tn)
(inst b :eq done)
(loadw symbol bsp-tn (- vm:binding-symbol-slot vm:binding-size))
(inst nop)
(emit-label loop)
(loadw symbol bsp-tn (- vm:binding-symbol-slot vm:binding-size))
(inst cmp symbol)
(inst b :eq skip)
(loadw value bsp-tn (- vm:binding-value-slot vm:binding-size))
......@@ -285,7 +286,7 @@
(inst sub bsp-tn bsp-tn (* 2 vm:word-bytes))
(inst cmp where bsp-tn)
(inst b :ne loop)
(loadw symbol bsp-tn (- vm:binding-symbol-slot vm:binding-size))
(inst nop)
(emit-label done))))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment