mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Improve doc for CAS on structures
Clarify both the current state and the intent, which is to potentially support raw slots. Reviewed by CSR
This commit is contained in:
parent
0bf2b6e995
commit
2ee5179986
|
|
@ -168,7 +168,12 @@ call to the constructor is bound to a variable declared
|
|||
@code{dynamic-extent}.
|
||||
|
||||
@strong{Note}: structures with ``raw'' slots can currently be
|
||||
stack-allocated only on x86 and x86-64.
|
||||
stack-allocated only on x86 and x86-64. A ``raw'' slot is one whose
|
||||
declared type is a subtype of exactly one of: @code{double-float},
|
||||
@code{single-float}, @code{(complex double-float)}, @code{(complex single-float)},
|
||||
or @code{sb-ext:word}; but as an exception to the preceding, any subtype
|
||||
of @code{fixnum} is not stored as raw despite also being a subtype
|
||||
of @code{sb-ext:word}.
|
||||
|
||||
@item
|
||||
all of the above when they appear as initial parts of another
|
||||
|
|
|
|||
|
|
@ -210,9 +210,10 @@ whose CAR is one of the following:
|
|||
CAR, CDR, FIRST, REST, SVREF, SYMBOL-PLIST, SYMBOL-VALUE, SVREF, SLOT-VALUE
|
||||
SB-MOP:STANDARD-INSTANCE-ACCESS, SB-MOP:FUNCALLABLE-STANDARD-INSTANCE-ACCESS,
|
||||
|
||||
or the name of a DEFSTRUCT created accessor for a slot whose declared type is
|
||||
either FIXNUM or T. Results are unspecified if the slot has a declared type
|
||||
other than FIXNUM or T.
|
||||
or the name of a DEFSTRUCT created accessor for a slot whose storage type
|
||||
is not raw. (Refer to the the \"Efficiency\" chapter of the manual
|
||||
for the list of raw slot types. Future extensions to this macro may allow
|
||||
it to work on some raw slot types.)
|
||||
|
||||
In case of SLOT-VALUE, if the slot is unbound, SLOT-UNBOUND is called unless
|
||||
OLD is EQ to SB-PCL:+SLOT-UNBOUND+ in which case SB-PCL:+SLOT-UNBOUND+ is
|
||||
|
|
|
|||
Loading…
Reference in a new issue