From 86ad8cffbdf02f56540efac6f3052c9110b288c8 Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Mon, 14 Dec 2015 20:54:19 -0500 Subject: [PATCH] Fixup some comments. --- src/code/early-raw-slots.lisp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/code/early-raw-slots.lisp b/src/code/early-raw-slots.lisp index 4babed0d1..df16b9c6d 100644 --- a/src/code/early-raw-slots.lisp +++ b/src/code/early-raw-slots.lisp @@ -9,10 +9,6 @@ (in-package "SB!KERNEL") -;;; This file has to be loaded during cold-init as early as you'd like to -;;; have any defstructs that use raw slots. %COMPILER-DEFSTRUCT needs the -;;; raw-slot-data-list both at compile-time and load-time. - ;;; STRUCTURE-OBJECT supports two different strategies to place raw slots ;;; (containing "just bits", not Lisp descriptors) within it in a way ;;; that GC has knowledge of. No backend supports both strategies though. @@ -79,8 +75,6 @@ ;;; For example COMPLEX-DOUBLE-FLOAT *should* be aligned to twice the ;;; alignment of a DOUBLE-FLOAT. It is not, as things stand, ;;; but this is considered a minor bug. -;;; Interleaving is supported only on x86-64, but porting should be -;;; straightforward, because if anything the VOPs become simpler. ;; To utilize a word-sized slot in a defstruct without having to resort to ;; writing (myslot :type (unsigned-byte #.sb!vm:n-word-bits)), or even @@ -108,12 +102,8 @@ (defstruct (raw-slot-data (:copier nil) (:predicate nil)) - ;; the raw slot type, or T for a non-raw slot - ;; - ;; (Non-raw slots are in the ordinary place you'd expect, directly - ;; indexed off the instance pointer. Raw slots are indexed from the end - ;; of the instance and skipped by GC.) - (raw-type (missing-arg) :type (or symbol cons) :read-only t) + ;; the type specifier, which must specify a numeric type. + (raw-type (missing-arg) :type symbol :read-only t) ;; What operator is used to access a slot of this type? (accessor-name (missing-arg) :type symbol :read-only t) (init-vop (missing-arg) :type symbol :read-only t) @@ -130,6 +120,8 @@ ;; Simulate DEFINE-LOAD-TIME-GLOBAL - always bound in the image ;; but not eval'd in the compiler. (defglobal *raw-slot-data-list* nil) +;; By making this a cold-init function, it is possible to use raw slots +;; in cold toplevel forms. (defun !raw-slot-data-init () (macrolet ((make-comparer (accessor-name) #+sb-xc-host -- 2.11.4.GIT