diff --git a/compiler/mips/cell.lisp b/compiler/mips/cell.lisp
index b20bac7720d037724b85e178d2c837687173e044..19ab7f43f0935efb0e2da31122e551ceba2e0eaa 100644
--- a/compiler/mips/cell.lisp
+++ b/compiler/mips/cell.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/cell.lisp,v 1.45 1990/10/08 13:18:30 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/cell.lisp,v 1.46 1990/10/10 12:54:07 wlott Exp $
 ;;;
 ;;;    This file contains the VM definition of various primitive memory access
 ;;; VOPs for the MIPS.
@@ -296,7 +296,13 @@
 
 ;;;; Structure hackery:
 
-;;; ### This is only necessary until we get real structures up and running.
+(define-vop (structure-length cell-ref)
+  (:variant vm:vector-length-slot vm:other-pointer-type)
+  (:policy :fast-safe)
+  (:translate structure-length))
+
+;;; These two are needed until the compiler is recompiled with the version
+;;; of defstruct that has had all uses of %primitive removed.
 
 (define-vop (structure-ref slot-ref)
   (:variant vm:vector-data-offset vm:other-pointer-type))
@@ -304,12 +310,30 @@
 (define-vop (structure-set slot-set)
   (:variant vm:vector-data-offset vm:other-pointer-type))
 
+
+(define-vop (structure-const-ref slot-ref)
+  (:variant vm:vector-data-offset vm:other-pointer-type)
+  (:policy :fast-safe)
+  (:translate structure-ref)
+  (:arg-types structure (:constant (integer 0 #.(1- (ash 1 29))))))
+
+(define-vop (structure-const-set slot-set)
+  (:policy :fast-safe)
+  (:translate structure-set)
+  (:variant vm:vector-data-offset vm:other-pointer-type)
+  (:arg-types structure (:constant (integer 0 #.(1- (ash 1 29)))) *))
+
 (define-vop (structure-index-ref word-index-ref)
-  (:variant vm:vector-data-offset vm:other-pointer-type))
+  (:policy :fast-safe) 
+  (:translate structure-ref)
+  (:variant vm:vector-data-offset vm:other-pointer-type)
+  (:arg-types structure positive-fixnum))
 
 (define-vop (structure-index-set word-index-set)
-  (:variant vm:vector-data-offset vm:other-pointer-type))
-
+  (:policy :fast-safe) 
+  (:translate structure-set)
+  (:variant vm:vector-data-offset vm:other-pointer-type)
+  (:arg-types structure positive-fixnum *))