Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits: d05213db by Raymond Toy at 2016-12-26T20:58:18-08:00 Set new fasl file implementation and type for sparc64
Define and set sparc64-fasl-file-implementation for sparc64, and set the fasl file type to "sparc64f" to distinguish this from sparc (32-bit).
Also cleaned up parms.lisp a little since sparc64 is always svr4.
- - - - -
3 changed files:
- src/compiler/generic/new-genesis.lisp - src/compiler/generic/vm-macs.lisp - src/compiler/sparc64/parms.lisp
Changes:
===================================== src/compiler/generic/new-genesis.lisp ===================================== --- a/src/compiler/generic/new-genesis.lisp +++ b/src/compiler/generic/new-genesis.lisp @@ -2273,7 +2273,8 @@ (setf (sap-ref-16 sap 0) (maybe-byte-swap-short (ldb (byte 16 0) value)))))) - (#.c:sparc-fasl-file-implementation + ((#.c:sparc-fasl-file-implementation + #.c:sparc64-fasl-file-implementation) (let ((inst (maybe-byte-swap (sap-ref-32 sap 0)))) (ecase kind (:call
===================================== src/compiler/generic/vm-macs.lisp ===================================== --- a/src/compiler/generic/vm-macs.lisp +++ b/src/compiler/generic/vm-macs.lisp @@ -238,14 +238,15 @@ alpha-fasl-file-implementation sgi-fasl-file-implementation ppc-fasl-file-implementation - amd64-fasl-file-implementation)) + amd64-fasl-file-implementation + sparc64-fasl-file-implementation))
;;; Constants for the different implementations. These are all defined in ;;; one place to make sure they are all unique.
(defparameter fasl-file-implementations '(nil "Pmax" "Sparc" "RT" "RT/AFPA" "x86" "HPPA" - "Big-endian byte-code" "Little-endian byte-code" "Alpha" "SGI" "PPC" "AMD64")) + "Big-endian byte-code" "Little-endian byte-code" "Alpha" "SGI" "PPC" "AMD64" "SPARC64")) (defconstant pmax-fasl-file-implementation 1) (defconstant sparc-fasl-file-implementation 2) (defconstant rt-fasl-file-implementation 3) @@ -258,6 +259,7 @@ (defconstant sgi-fasl-file-implementation 10) (defconstant ppc-fasl-file-implementation 11) (defconstant amd64-fasl-file-implementation 12) +(defconstant sparc64-fasl-file-implementation 13)
;;; The maximum number of SCs in any implementation. (defconstant sc-number-limit 32)
===================================== src/compiler/sparc64/parms.lisp ===================================== --- a/src/compiler/sparc64/parms.lisp +++ b/src/compiler/sparc64/parms.lisp @@ -34,13 +34,10 @@ (setf (backend-name *target-backend*) "SPARC") #+svr4 (setf (backend-version *target-backend*) - #-sparc-v9 "SPARCstation/Solaris 2.x" - #+sparc-v9 "UltraSPARC/Solaris") -#-svr4 -(setf (backend-version *target-backend*) "SPARCstation/Sun 4") -(setf (backend-fasl-file-type *target-backend*) "sparcf") + "UltraSPARC/Solaris") +(setf (backend-fasl-file-type *target-backend*) "sparc64f") (setf (backend-fasl-file-implementation *target-backend*) - sparc-fasl-file-implementation) + sparc64-fasl-file-implementation) (setf (backend-fasl-file-version *target-backend*) byte-fasl-file-version) (setf (backend-register-save-penalty *target-backend*) 3) (setf (backend-byte-order *target-backend*) :big-endian)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/d05213db2201790a2e5827a502...