X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fbackend-parms.lisp;h=cfb3bb487953617dbf765070d801a36287e955dd;hb=7c406887c08477181e869b1b98142d99b52990ac;hp=9f061d640d613c8afea70861a78fa8686ee551a1;hpb=8731c1a7c1a585d190151fa881050fb5e14c0616;p=sbcl.git diff --git a/src/compiler/ppc/backend-parms.lisp b/src/compiler/ppc/backend-parms.lisp index 9f061d6..cfb3bb4 100644 --- a/src/compiler/ppc/backend-parms.lisp +++ b/src/compiler/ppc/backend-parms.lisp @@ -3,5 +3,15 @@ (def!constant +backend-fasl-file-implementation+ :ppc) (setf *backend-register-save-penalty* 3) (setf *backend-byte-order* :big-endian) -(setf *backend-page-size* 4096) +(eval-when (:compile-toplevel :load-toplevel :execute) + ;; On Linux, the ABI specifies the page size to be 4k-64k, use the + ;; maximum of that range. FIXME: it'd be great if somebody would + ;; find out whether using exact multiples of the page size actually + ;; matters in the few places where that's done, or whether we could + ;; just use 4k everywhere. + (setf *backend-page-bytes* #!+linux 65536 #!-linux 4096)) + +;;; The size in bytes of the GENCGC pages. Should be a multiple of the +;;; architecture page size. +(def!constant gencgc-page-bytes *backend-page-bytes*)