1 ;;;; that part of the parms.lisp file from original CMU CL which is defined in
2 ;;;; terms of the BACKEND structure
4 ;;;; FIXME: When we break up the BACKEND structure, this might be mergeable
5 ;;;; back into the parms.lisp file.
7 ;;;; This software is part of the SBCL system. See the README file for
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.
18 ;;;; compiler constants
20 (def!constant +backend-fasl-file-implementation+ :x86-64)
22 (setf *backend-register-save-penalty* 3)
24 (setf *backend-byte-order* :little-endian)
26 ;;; KLUDGE: It would seem natural to set this by asking our C runtime
27 ;;; code for it, but mostly we need it for GENESIS, which doesn't in
28 ;;; general have our C runtime code running to ask, so instead we set
29 ;;; it by hand. -- WHN 2001-04-15
31 ;;; Though note that POSIX specifies (as far as I can tell)
33 ;;; sysconf(_SC_PAGE_SIZE);
35 ;;; as a portable way of retrieving this information; a call to this
36 ;;; could be made in grovel-headers (which, strictly speaking, would
37 ;;; no longer solely be grovelling headers), though the question of
38 ;;; how to make this information appear in GENESIS, which is built and
39 ;;; run from host-1 files (which are made before grovel-headers runs)
40 ;;; would remain. -- CSR, 2002-09-01
41 (setf *backend-page-size* 4096)
42 ;;; comment from CMU CL:
44 ;;; in case we ever wanted to do this for Windows NT..
46 ;;; Windows NT uses a memory system granularity of 64K, which means
47 ;;; everything that gets mapped must be a multiple of that. The real
48 ;;; page size is 512, but that doesn't do us a whole lot of good.
49 ;;; Effectively, the page size is 64K.
51 ;;; would be: (setf *backend-page-size* 65536)