From 22d85072df92f7b4401a2ebbba3cd4663d782fa2 Mon Sep 17 00:00:00 2001
From: toy <toy>
Date: Fri, 11 Jul 2003 13:29:13 +0000
Subject: [PATCH] Fix indexing error in DEFINE-PARTIAL-SETTER that causes bad
 array references to 8- and 16-bit specialized arrays with a constant index.

From Christophe Rhodes on cmucl-imp.
---
 compiler/mips/macros.lisp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/compiler/mips/macros.lisp b/compiler/mips/macros.lisp
index 787d4bbe3..f24875a14 100644
--- a/compiler/mips/macros.lisp
+++ b/compiler/mips/macros.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/macros.lisp,v 1.52 2003/03/02 18:55:56 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/macros.lisp,v 1.53 2003/07/11 13:29:13 toy Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -477,6 +477,8 @@
 	 (:generator 5
 	   (inst ,(ecase size (:byte 'sb) (:short 'sh))
 		 value object
-		 (- (* ,offset word-bytes) (* index ,scale) ,lowtag))
+		 (- (+ (* ,offset word-bytes)
+		       (* index ,scale))
+		    ,lowtag))
 	   (move result value))))))
 
-- 
GitLab