summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDouglas Katzman <dougk@google.com>2020-02-06 13:35:27 -0500
committerDouglas Katzman <dougk@google.com>2020-02-06 13:35:27 -0500
commit2ee51799861065b0dab8278cdbb875a0553b37f3 (patch)
treeb19f54aca2415fc58308b96630613fa0a8cfbe57 /doc
parent0bf2b6e9955cfbf2cb7506e6e52c6f26fb0cf93d (diff)
Improve doc for CAS on structures
Clarify both the current state and the intent, which is to potentially support raw slots. Reviewed by CSR
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/efficiency.texinfo7
1 files changed, 6 insertions, 1 deletions
diff --git a/doc/manual/efficiency.texinfo b/doc/manual/efficiency.texinfo
index 180672a6d..db69d049f 100644
--- a/doc/manual/efficiency.texinfo
+++ b/doc/manual/efficiency.texinfo
@@ -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