SPARC gencgc
[sbcl.git] / src / compiler / sparc / backend-parms.lisp
1 ;;;; that part of the parms.lisp file from original CMU CL which is
2 ;;;; defined in terms of the BACKEND structure
3 ;;;;
4 ;;;; FIXME: Now that the BACKEND structure has been broken up, this
5 ;;;; might be mergeable back into the parms.lisp file.
6
7 ;;;; This software is part of the SBCL system. See the README file for
8 ;;;; more information.
9 ;;;;
10 ;;;; This software is derived from the CMU CL system, which was
11 ;;;; written at Carnegie Mellon University and released into the
12 ;;;; public domain. The software is in the public domain and is
13 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
14 ;;;; files for more information.
15
16 (in-package "SB!VM")
17 \f
18 ;;;; compiler constants
19
20 (def!constant +backend-fasl-file-implementation+ :sparc)
21
22 (setf *backend-register-save-penalty* 3)
23
24 (setf *backend-byte-order* :big-endian)
25
26 (eval-when (:compile-toplevel :load-toplevel :execute)
27   (setf *backend-page-bytes* 8192))
28
29 ;;; The size in bytes of GENCGC cards, i.e. the granularity at which
30 ;;; writes to old generations are logged.  With mprotect-based write
31 ;;; barriers, this must be a multiple of the OS page size.
32 (def!constant gencgc-card-bytes *backend-page-bytes*)
33 ;;; The minimum size of new allocation regions.  While it doesn't
34 ;;; currently make a lot of sense to have a card size lower than
35 ;;; the alloc granularity, it will, once we are smarter about finding
36 ;;; the start of objects.
37 (def!constant gencgc-alloc-granularity 0)
38 ;;; The minimum size at which we release address ranges to the OS.
39 ;;; This must be a multiple of the OS page size.
40 (def!constant gencgc-release-granularity *backend-page-bytes*)