Next: , Previous: , Up: iklib   [Index]


6.3 Run-time configuration

The following syntactic bindings are exported by the library (vicare system $runtime).

Function: scheme-heap-nursery-size
Function: scheme-heap-nursery-size num-of-bytes

Getter and setter for the size of the Scheme heap nursery’s hot block memory segment. When called without arguments: return the current size. When called with one argument: set a new size.

The exact integer num-of-bytes must fit into a platform’s unsigned long value, it must be positive and greater than 3 Vicare’s page sizes, 4096 * 3 = 12288. The given num-of-bytes value is normalised by rounding it to the least exact multiple of 4096 greater than num-of-bytes.

The Scheme heap nursery’s hot block memory segment is allocated at process start–up, before loading the boot image. While loading the boot image: the hot block may be reallocated. These first allocation and reallocations cannot be configured with this function, we have to use a command line argument (see scheme-heap-nursery-size).

After boot image loading, if the Scheme heap nursery’s hot block memory segment is reallocated: the new hot block has the size configured with this function. Notice that, after boot image loading: hot block reallocation may never happen (most likely it will never happen).

The default size for the heap nursery is: on 32-bit platforms 4096*1024=4194304, that is 4 MiB; on 64-bit platforms ‘4096*1024*2=8388608’, that is 8 MiB.

Function: scheme-stack-size
Function: scheme-stack-size num-of-bytes

Getter and setter for the size of the Scheme stack memory segment. When called without arguments: return the current size. When called with one argument: set a new size.

The exact integer num-of-bytes must fit into a platform’s unsigned long value, it must be positive and greater than 3 Vicare’s page sizes, 4096 * 3 = 12288. The given num-of-bytes value is normalised by rounding it to the least exact multiple of 4096 greater than num-of-bytes.

The Scheme heap stack memory segment is allocated at process start–up, before loading the boot image. While loading the boot image: the stack segment may be reallocated. These first allocation and reallocations cannot be configured with this function, we have to use a command line argument (see scheme-stack-size).

After boot image loading, when the Scheme stack segment is reallocated: the new segment has the size configured with this function.

The default size for the stack is: on 32-bit platforms 4096*1024=4194304, that is 4 MiB; on 64-bit platforms ‘4096*1024*2=8388608’, that is 8 MiB.


Next: , Previous: , Up: iklib   [Index]