X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Froom.lisp;h=ea2f30990eb79181ac03cd87b2e727b6c562b664;hb=97423182206cfe8c078eff105fea00dceb03be99;hp=31e6275f2fbaa0b98b92d83e756bdd810dd07753;hpb=559d0ded238d8ec852fcd485656ef14578fc405f;p=sbcl.git diff --git a/src/code/room.lisp b/src/code/room.lisp index 31e6275..ea2f309 100644 --- a/src/code/room.lisp +++ b/src/code/room.lisp @@ -208,12 +208,12 @@ ;;; MAP-ALLOCATED-OBJECTS #!+gencgc (progn - (define-alien-type nil + (define-alien-type (struct page) (struct page - (flags unsigned-int) - (gen int) - (bytes-used int) - (start long))) + (start long) + (bytes-used (unsigned 16)) + (flags (unsigned 8)) + (gen (signed 8)))) (declaim (inline find-page-index)) (define-alien-routine "find_page_index" long (index long)) (define-alien-variable "page_table" @@ -265,7 +265,7 @@ ;; bitfields? (let ((alloc-flag (ldb (byte 3 2) (slot page 'flags))) - (bytes-used (slot page 'bytes-used))) + (bytes-used (slot page 'bytes-used))) ;; If the page is not free and the current ;; pointer is still below the allocation offset ;; of the page