mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-23 04:52:42 -08:00
Add cross-references for memory limits table
This commit is contained in:
parent
1a9a38cb67
commit
fdb146cbed
2 changed files with 7 additions and 7 deletions
|
|
@ -42,7 +42,7 @@ Except for finalization, which is a questionable feature, the previous settings
|
|||
@subsection Memory limits
|
||||
Beginning with version 9.2.1, ECL operates a tighter control of the resources it uses. In particular, it features explicit limits in the four stacks and in the amount of live data. These limits are optional, can be changed at run time, but they allow users to better control the evolution of a program, handling memory and stack overflow gracefully via the Common Lisp condition system.
|
||||
|
||||
The customizable limits are listed in Table 5.1, but they need a careful description.
|
||||
The customizable limits are listed in @ref{tab:mem-limits}, but they need a careful description.
|
||||
|
||||
@itemize
|
||||
@item
|
||||
|
|
@ -57,7 +57,7 @@ The customizable limits are listed in Table 5.1, but they need a careful descrip
|
|||
ext:lisp-stack controls the size of the interpreter stack. It only affects interpreted code.
|
||||
@end itemize
|
||||
|
||||
If you look at Table 5.1, some of these limits may seem very stringent, but they exist to allow detecting and correcting both stack and memory overflow conditions. Larger values can be set systematically either in the ~/.eclrc initialization file, or using the command line options from the table.
|
||||
If you look at @ref{tab:mem-limits}, some of these limits may seem very stringent, but they exist to allow detecting and correcting both stack and memory overflow conditions. Larger values can be set systematically either in the ~/.eclrc initialization file, or using the command line options from the table.
|
||||
|
||||
@node Memory conditions
|
||||
@subsection Memory conditions
|
||||
|
|
|
|||
|
|
@ -21,12 +21,12 @@ A non-negative integer.
|
|||
@defun ext:stack-overflow-type condition
|
||||
@table @var
|
||||
@item returns
|
||||
A symbol from Table 5.1, except @code{ext:heap-size}.
|
||||
A symbol from @ref{tab:mem-limits}, except @code{ext:heap-size}.
|
||||
@end table
|
||||
@end defun
|
||||
|
||||
@subsubheading Description
|
||||
This condition is signaled when one of the stack limits in Table 5.1 are violated or dangerously approached. It can be handled by resetting the limits and continuing, or jumping to an outer control point.
|
||||
This condition is signaled when one of the stack limits in @ref{tab:mem-limits} are violated or dangerously approached. It can be handled by resetting the limits and continuing, or jumping to an outer control point.
|
||||
|
||||
@end deftp
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ Memory overflow condition
|
|||
@code{ext:storage-exhausted, storage-condition, serious-condition, condition, t}
|
||||
|
||||
@subsubheading Description
|
||||
This condition is signaled when ECL exhausts the @code{ext:heap-size} limit from Table 5.1. In handling this condition ECL follows this logic:
|
||||
This condition is signaled when ECL exhausts the @code{ext:heap-size} limit from @ref{tab:mem-limits}. In handling this condition ECL follows this logic:
|
||||
@itemize
|
||||
@item
|
||||
If the heap size limit was set to 0 (that is no limit), but there is some free space in the safety region ECL frees this space and issues a non-restartable error. The user may jump to an outer point or quit.
|
||||
|
|
@ -69,7 +69,7 @@ A symbol.
|
|||
@end table
|
||||
|
||||
@subsubheading Description
|
||||
Queries the different memory and stack limits that condition ECL's behavior. The value to be queried is denoted by the symbol @var{concept}, which should be one from the list Table 5.1
|
||||
Queries the different memory and stack limits that condition ECL's behavior. The value to be queried is denoted by the symbol @var{concept}, which should be one from the list: @ref{tab:mem-limits}
|
||||
@end defun
|
||||
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ A symbol.
|
|||
@item value
|
||||
A positive integer.
|
||||
@end table
|
||||
Changes the different memory and stack limits that condition ECL's behavior. The value to be changed is denoted by the symbol @var{concept}, while the @code{value} is the new maximum size. The valid symbols and units are listed in Table 5.1.
|
||||
Changes the different memory and stack limits that condition ECL's behavior. The value to be changed is denoted by the symbol @var{concept}, while the @code{value} is the new maximum size. The valid symbols and units are listed in @ref{tab:mem-limits}.
|
||||
|
||||
Note that the limit has to be positive, but it may be smaller than the previous value of the limit. However, if the supplied value is smaller than what ECL is using at the moment, the new value will be silently ignored.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue