X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fbackend-parms.lisp;h=93f2e017911678ed564a862e32103d500cee4bb8;hb=33179e55e91c2584641436a59aa18c13aee09da7;hp=595ff0aa58cad88240fe8317aefa262c12ea8969;hpb=4e5668af19abcf84587bf3f7a1c4294cd92c94a7;p=sbcl.git diff --git a/src/compiler/x86-64/backend-parms.lisp b/src/compiler/x86-64/backend-parms.lisp index 595ff0a..93f2e01 100644 --- a/src/compiler/x86-64/backend-parms.lisp +++ b/src/compiler/x86-64/backend-parms.lisp @@ -33,8 +33,21 @@ ;;; compatible systems to return different values for getpagesize(). ;;; -- JES, 2007-01-06 (eval-when (:compile-toplevel :load-toplevel :execute) - (setf *backend-page-size* 4096)) + (setf *backend-page-bytes* 32768)) -;;; The size in bytes of the GENCGC pages. Should be a multiple of the -;;; architecture code size. -(def!constant gencgc-page-size 4096) +;;; The size in bytes of GENCGC cards, i.e. the granularity at which +;;; writes to old generations are logged. With mprotect-based write +;;; barriers, this must be a multiple of the OS page size. +(def!constant gencgc-card-bytes *backend-page-bytes*) +;;; The minimum size of new allocation regions. While it doesn't +;;; currently make a lot of sense to have a card size lower than +;;; the alloc granularity, it will, once we are smarter about finding +;;; the start of objects. +(def!constant gencgc-alloc-granularity 0) +;;; The minimum size at which we release address ranges to the OS. +;;; This must be a multiple of the OS page size. +(def!constant gencgc-release-granularity *backend-page-bytes*) + +#!+sb-safepoint +(def!constant thread-saved-csp-offset + (- (/ *backend-page-bytes* n-word-bytes)))