diff --git a/docs/cmu-user/aliens.tex b/docs/cmu-user/aliens.tex index 494627809645acbd0f0458a56de0d40b3b118387..da04d48b7410bcb8faf046b423362efda372d576 100644 --- a/docs/cmu-user/aliens.tex +++ b/docs/cmu-user/aliens.tex @@ -745,8 +745,9 @@ won't move during GC. Due to the way \cmucl{} manages memory, the amount of memory that can be dynamically allocated by \code{malloc} or \funref{make-alien} is limited\footnote{\cmucl{} mmaps a large piece of memory for its own -use and this memory is typically about 8 MB above the start of the C -heap. Thus, only about 8 MB of memory can be dynamically allocated.}. +use and this memory is typically about 256~MB above the start of the C +heap. Thus, only about 256~MB of memory can be dynamically allocated. +In earlier versions, this limit was closer to 8~MB.}. To overcome this limitation, it is possible to access the content of Lisp arrays which are limited only by the amount of physical memory @@ -779,14 +780,16 @@ must be an array of one of the following types: (signed-byte 16) (signed-byte 8) " - (declare (type (or #+signed-array (array (signed-byte 8)) - #+signed-array (array (signed-byte 16)) - #+signed-array (array (signed-byte 32)) - (array (unsigned-byte 8)) - (array (unsigned-byte 16)) - (array (unsigned-byte 32)) - (array single-float) - (array double-float)) + (declare (type (or (simple-array (signed-byte 8)) + (simple-array (signed-byte 16)) + (simple-array (signed-byte 32)) + (simple-array (unsigned-byte 8)) + (simple-array (unsigned-byte 16)) + (simple-array (unsigned-byte 32)) + (simple-array single-float) + (simple-array double-float) + (simple-array (complex single-float)) + (simple-array (complex double-float))) array) (optimize (speed 3) (safety 0)) (ext:optimize-interface (safety 3))) @@ -828,6 +831,9 @@ must be an array of one of the following types: (+ addr (* type-size start))))))) \end{example} +We note, however, that the system function +\findexed{system:vector-sap} will do the same thing as above does. + Assume we have the C function below that we wish to use: \begin{example}