The size of address space that 64-bit LispWorks can use is limited by the size of internal tables to a "span" of 2^44 (16TB). The span always starts at 0.
Inside this span LispWorks can use any address. However, to avoid clashes with other software, it uses memory only in some defined range.
Startup relocation means changing this range.
BaseAddress
(passed on command line with
--relocate-image
or as the second argument to
InitLispWorks
, rounded up to 2^28) is the start of the range.
ReserveSize
(passed on command line with
--reserve-size
or as the third argument to
InitLispWorks
) is the size of the range. The default of the size of the range is 2^40.
If the entire heap is within the new range, nothing else is done. If some part of the heap is outside the new range, the heap is relocated.
The range in each 64-bit LispWorks implementation starts at
#x4000000000
(256GB).