From ec42ff4a5bfac208d2f3b20643f00084e1f86796 Mon Sep 17 00:00:00 2001
From: toy <toy>
Date: Sun, 2 Mar 2003 18:56:43 +0000
Subject: [PATCH] Revived SGI MIPS port, from Mike McDonald.

---
 code/float-trap.lisp         |  5 +++--
 compiler/mips/macros.lisp    |  4 ++--
 compiler/mips/parms.lisp     | 22 +++++++++++++++++-----
 compiler/mips/type-vops.lisp |  5 +----
 lisp/Config.sgi_52           |  2 ++
 lisp/GNUmakefile             |  4 ++--
 tools/worldload.lisp         |  4 ++--
 7 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/code/float-trap.lisp b/code/float-trap.lisp
index 7250b6cf3..5b5c4f0ba 100644
--- a/code/float-trap.lisp
+++ b/code/float-trap.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/code/float-trap.lisp,v 1.19 2002/01/14 21:25:52 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/float-trap.lisp,v 1.20 2003/03/02 18:55:55 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -250,4 +250,5 @@
 	(setf (floating-point-modes)
 	      (logior (logand ,orig-modes ,(logior traps exceptions))
 		      (logand (floating-point-modes)
-			      ,(logand trap-mask exception-mask))))))))
+			      ,(logand trap-mask exception-mask)
+		       #+mips ,(dpb 0 float-exceptions-byte #xffffffff))))))))
diff --git a/compiler/mips/macros.lisp b/compiler/mips/macros.lisp
index c707609a6..787d4bbe3 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.51 1994/10/31 04:44:16 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/macros.lisp,v 1.52 2003/03/02 18:55:56 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -309,9 +309,9 @@
        (inst addu alloc-tn 1))
      ,@forms
      (without-scheduling ()
+       (inst nop)
        (inst add alloc-tn ,flag-tn))))
 
-
 
 ;;;; Memory accessor vop generators
 
diff --git a/compiler/mips/parms.lisp b/compiler/mips/parms.lisp
index 708ea99d7..36512fdb1 100644
--- a/compiler/mips/parms.lisp
+++ b/compiler/mips/parms.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/parms.lisp,v 1.115 2003/02/12 15:53:48 emarsden Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/parms.lisp,v 1.116 2003/03/02 18:55:56 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -131,13 +131,17 @@
 
 (export '(target-read-only-space-start
 	  target-static-space-start
-	  target-dynamic-space-start))
+	  target-dynamic-space-start
+	  target-foreign-linkage-space-start
+	  target-foreign-linkage-entry-size))
 
 ;;; Where to put the different spaces.
 ;;; 
-(defparameter target-read-only-space-start #x01000000)
-(defparameter target-static-space-start    #x05000000)
-(defparameter target-dynamic-space-start   #x07000000)
+(defparameter target-read-only-space-start       #x01000000)
+(defparameter target-static-space-start          #x05000000)
+(defparameter target-dynamic-space-start         #x07000000)
+(defparameter target-foreign-linkage-space-start #x0fc00000)
+(defconstant  target-foreign-linkage-entry-size 8)
 
 ;;; LARGE-OBJECT-CUTOFF -- Size in words where we start allocating in the
 ;;; large object space instead.  Must be less then a page.
@@ -221,6 +225,14 @@
     lisp::*free-interrupt-context-index*
     unix::*interrupts-enabled*
     unix::*interrupt-pending*
+
+    ;; Make the ..slot-unbound.. symbol static to optimise the
+    ;; common slot unbound check.
+    pcl::..slot-unbound..
+
+    ;; These are filled in the C run-time.
+    lisp::*cmucl-lib*
+    lisp::*cmucl-core-path*
     ))
 
 #+gengc
diff --git a/compiler/mips/type-vops.lisp b/compiler/mips/type-vops.lisp
index c9d874824..1ad293c79 100644
--- a/compiler/mips/type-vops.lisp
+++ b/compiler/mips/type-vops.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/type-vops.lisp,v 1.47 2000/01/10 14:46:07 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/type-vops.lisp,v 1.48 2003/03/02 18:55:56 toy Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -391,9 +391,6 @@
 (def-type-vops funcallable-instance-p nil nil nil
   funcallable-instance-header-type)
 
-(def-type-vops dylan::dylan-function-p nil nil nil
-  dylan-function-header-type)
-
 (def-type-vops array-header-p nil nil nil
   simple-array-type complex-string-type complex-bit-vector-type
   complex-vector-type complex-array-type)
diff --git a/lisp/Config.sgi_52 b/lisp/Config.sgi_52
index c2a16d0d1..ac3ca413e 100644
--- a/lisp/Config.sgi_52
+++ b/lisp/Config.sgi_52
@@ -5,6 +5,8 @@ CC = cc # -Wall -Wstrict-prototypes -Wmissing-prototypes
 CPP = cpp
 CFLAGS = -Dirix -DSVR4 -D_BSD_SIGNALS -g
 
+DEPEND = $(CC) -M -E
+
 # For some reason mips-assem.S and mips-assem.s must both be linked to the
 # mips-assem.S source file.  It seems that .S means something wierd on this
 # platform.  Also, make sure that "as" is /usr/bin/as, not the
diff --git a/lisp/GNUmakefile b/lisp/GNUmakefile
index ec8fc9049..593df3736 100644
--- a/lisp/GNUmakefile
+++ b/lisp/GNUmakefile
@@ -1,10 +1,10 @@
-# $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/GNUmakefile,v 1.18 2002/10/01 20:10:49 toy Exp $
+# $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/GNUmakefile,v 1.19 2003/03/02 18:55:57 toy Exp $
 
 all: lisp.nm
 
 CC = gcc
 
-DEPEND_FLAGS =
+DEPEND = $(CC) -MM -E
 
 include Config
 
diff --git a/tools/worldload.lisp b/tools/worldload.lisp
index 848ab7d66..3d6f9c1cd 100644
--- a/tools/worldload.lisp
+++ b/tools/worldload.lisp
@@ -6,7 +6,7 @@
 ;;; If you want to use this code or any part of CMU Common Lisp, please contact
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.98 2002/11/05 22:45:53 cracauer Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.99 2003/03/02 18:56:43 toy Exp $
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -97,7 +97,7 @@
 #+alpha
 (rename-package "ALPHA" "ALPHA" '("VM" "OLD-ALPHA"))
 #+sgi
-(rename-package "SGI" "SGI" '("VM" "OLD-SGI"))
+(rename-package "SGI" "SGI" '("VM" "MIPS" "OLD-SGI"))
 #+ppc
 (rename-package "PPC" "PPC" '("VM" "OLD-PPC"))
 
-- 
GitLab