diff --git a/assembly/mips/array.lisp b/assembly/mips/array.lisp
index 46e32bc7a7a6dfccff666cced41e1221cadb3caa..c8e4b4767ffc350aeb80463ae5a1c52f112895fa 100644
--- a/assembly/mips/array.lisp
+++ b/assembly/mips/array.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/mips/array.lisp,v 1.17 1990/11/10 18:47:05 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/mips/array.lisp,v 1.18 1990/11/18 16:56:21 wlott Exp $
 ;;;
 ;;;    This file contains the support routines for arrays and vectors.
 ;;;
@@ -16,32 +16,6 @@
 (in-package "MIPS")
 
 
-#+assembler
-(eval-when (compile eval)
-
-(defmacro allocate-vector (type length words vector ndescr)
-  `(pseudo-atomic (,ndescr)
-     (inst or ,vector alloc-tn vm:other-pointer-type)
-     (inst addu alloc-tn alloc-tn (+ (1- (ash 1 vm:lowtag-bits))
-				      (* vm:vector-data-offset vm:word-bytes)))
-     (inst addu alloc-tn alloc-tn ,words)
-     (inst li ,ndescr (lognot vm:lowtag-mask))
-     (inst and alloc-tn alloc-tn ,ndescr)
-     ,(if (constantp type)
-	  `(inst li ,ndescr ,type)
-	  `(inst srl ,ndescr ,type vm:word-shift))
-     (storew ,ndescr ,vector 0 vm:other-pointer-type)
-     (storew ,length ,vector vm:vector-length-slot vm:other-pointer-type)))
-
-(defmacro maybe-invoke-gc (vector words)
-  "Assure that VECTOR lies entirely before the guard page.  WORDS is the
-  number of words of data in the vector."
-  (declare (ignore vector words))
-  nil)
-
-); eval-when (compile eval)
-
-
 (define-assembly-routine (allocate-vector
 			  (:policy :fast-safe)
 			  (:translate allocate-vector)
@@ -55,76 +29,19 @@
 
 			  (:temp ndescr non-descriptor-reg nl0-offset)
 			  (:temp vector descriptor-reg a3-offset))
-  (allocate-vector type length words vector ndescr)
-  (maybe-invoke-gc vector words)
+  (pseudo-atomic (ndescr)
+    (inst or vector alloc-tn vm:other-pointer-type)
+    (inst addu alloc-tn alloc-tn (+ (1- (ash 1 vm:lowtag-bits))
+				    (* vm:vector-data-offset vm:word-bytes)))
+    (inst addu alloc-tn alloc-tn words)
+    (inst li ndescr (lognot vm:lowtag-mask))
+    (inst and alloc-tn alloc-tn ndescr)
+    (inst srl ndescr type vm:word-shift)
+    (storew ndescr vector 0 vm:other-pointer-type)
+    (storew length vector vm:vector-length-slot vm:other-pointer-type))
   (move result vector))
 
 
-(define-assembly-routine alloc-g-vector
-			 ((:arg length any-reg a0-offset)
-			  (:arg fill (descriptor-reg any-reg) a1-offset)
-			  (:res result descriptor-reg a0-offset)
-
-			  (:temp ndescr non-descriptor-reg nl0-offset)
-			  (:temp lip interior-reg lip-offset)
-			  (:temp retaddr non-descriptor-reg nl1-offset)
-			  (:temp vector descriptor-reg a3-offset))
-
-  ;; Save the return address.
-  (inst subu retaddr lip-tn code-tn)
-
-  (allocate-vector vm:simple-vector-type length length vector ndescr)
-  (inst beq length zero-tn done)
-  (inst addu lip vector (- (* vm:vector-data-offset vm:word-bytes)
-			   vm:other-pointer-type))
-
-  loop
-
-  (storew fill lip)
-  (inst addu length length (fixnum -1))
-  (inst bne length zero-tn loop)
-  (inst addu lip lip vm:word-bytes)
-
-  done
-  
-  (move result vector)
-
-  ;; Restore the return address.
-  (inst addu lip-tn retaddr code-tn))
-
-
-(define-assembly-routine alloc-string
-			 ((:arg length any-reg a0-offset)
-			  (:res result descriptor-reg a0-offset)
-
-			  (:temp ndescr non-descriptor-reg nl0-offset)
-			  (:temp words any-reg nl1-offset)
-			  (:temp vector descriptor-reg a3-offset))
-  ;; Note: When we calculate the number of words needed, we assure that there
-  ;; will be at least one extra byte available.  This allows us to pass strings
-  ;; to C land without having to tack an extra null on the end ourselves.
-  ;;
-  ;; To do this quickly, we divide the length by the number of bytes and strip
-  ;; off the two fixnum lowtag bits, add 1 (binary 1, not fixnum 1), and
-  ;; shift back to a fixnum:
-  ;;
-  ;; length   len>>4   1+      <<2
-  ;; 	0	0	1	4
-  ;;    1	0	1	4
-  ;;    3	0	1	4
-  ;;    4	1	2	8
-  ;;    7	1	2	8
-  ;;    8	2	3	12
-  ;;
-  (inst sra words length (+ vm:word-shift 2))
-  (inst addu words words 1)
-  (inst sll words words 2)
-  (allocate-vector vm:simple-string-type length words vector ndescr)
-  (maybe-invoke-gc vector words)
-  (move result vector))
-
-
-
 
 ;;;; Hash primitives