diff --git a/compiler/mips/system.lisp b/compiler/mips/system.lisp index fb0ebbe51ed3a51129ba1c715efeb6acdbb184fc..cc46e9f5f9bf14f4d30255b5173ca2529eef41e2 100644 --- a/compiler/mips/system.lisp +++ b/compiler/mips/system.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/system.lisp,v 1.12 1990/05/09 06:40:50 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/system.lisp,v 1.13 1990/05/13 21:49:29 ch Exp $ ;;; ;;; MIPS VM definitions of various system hacking operations. ;;; @@ -126,7 +126,11 @@ (:args (ptr :scs (any-reg descriptor-reg))) (:results (res :scs (any-reg descriptor-reg))) (:generator 1 - (inst sll res ptr 2))) + ;; + ;; Some code (the hash table code) depends on this returning a + ;; positive number so make sure it does. + (inst sll res ptr 3) + (inst srl res res 1))) (define-vop (make-other-immediate-type) (:args (val :scs (any-reg descriptor-reg))