Trailing-Edge
-
PDP-10 Archives
-
decuslib20-01
-
decus/20-0004/loadtimeconstant.tty
There are no other files named loadtimeconstant.tty in the archive.
LOADTIMECONSTANT
This file changes the macro for CONSTANT so that if a constant value
doesn't have a readable print-name (e.g. an array), the value is
constructed when the function is stored into an in-core array, either
by compiling to core or by loading. Without this, such values are
treated as DEFERREDCONSTANTS, which are evaluated the first time the
function is run. The problem with this is that deferred constants
increase the size of the compiled code unnecessarily.
Using LOADTIMECONSTANT in place of CONSTANT in user code will
guarantee that the value will be constructed at load-time. Thus, the
value can depend on load-time expressions yet still be seen as a literal
in compiled code.
Using DEFERREDCONSTANT in place of either CONSTANT or LOADTIMECONSTANT
means that the value will not be constructed until it is actually needed.
For example, if the value occupies a lot of storage, it
will not be allocated if the function is not executed.
Comments to Ron Kaplan.
Note: The Maxc bytecompiler includes load-time constants even without
this file being loaded.