X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fbackend-parms.lisp;h=93f2e017911678ed564a862e32103d500cee4bb8;hb=c712f88b26cd7547ee984b90e18c134401335bc3;hp=1d5f41830ed5fcad7e32c44fff268a3650b01e91;hpb=619530eae404977e45f4779b481d88558ad957e2;p=sbcl.git diff --git a/src/compiler/x86-64/backend-parms.lisp b/src/compiler/x86-64/backend-parms.lisp index 1d5f418..93f2e01 100644 --- a/src/compiler/x86-64/backend-parms.lisp +++ b/src/compiler/x86-64/backend-parms.lisp @@ -35,6 +35,19 @@ (eval-when (:compile-toplevel :load-toplevel :execute) (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-bytes *backend-page-bytes*) +;;; 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)))