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