Runtime arguments
Command line arguments given to Modula-3 programs are divided in two
groups. Runtime parameters are those that start with the characters
@M3. They are reserved for the Modula-3 runtime and are accessible
via the
RTParams
interface. The others are
program arguments and are accessible via the
Params
interface.
The following runtime parameters are recognized today;
others are simply ignored.
- @M3nogc turns the garbage collector off.
- @M3showheap=name activates the logging of
heap allocation and garbage collection events. The program forks a
process running the name program, and sends it these events as
they occur. If "=name" is ommitted, the
showheap
program is forked; this
program displays the status of the heap pages.
- @M3showthread=name activates the logging of
thread switching events. The program forks a
process running the name program, and sends it these events as
they occur. If "=name" is ommitted, the
showthread
program is forked; this
program displays the status of the various threads.
- @M3shownew=name activates the logging of
per-type heap allocations. The program forks a
process running the name program, and periodically sends it
the number and sizes of recently allocated objects.
If "=name" is ommitted, the
shownew
program is forked; this
program displays one of several bar graphs.
- @M3update=X sets the interval between
shownew updates to X seconds. X must be
an integer.
- @M3noincremental disables incremental garbage collection;
uses stop-and-copy instead.
- @M3nogenerational disables generational garbage collection.
- @M3novm disables the use of
VM protection by the garbage collector.
On some platforms, @M3novm is essential for
debugging.
@M3novm implies @M3noincremental and @M3nogenerational.
- @M3paranoidgc checks the heap for sanity after each collection.
- @M3stackdump causes checked runtime errors to produce a stack
dump on stderr. On systems with stack walkers (
LINUXELF, SOLgnu, DS3100 and ALPHA_OSF)
the dump includes exception and procedure frames. On other systems only
the exception frames are dumped.
- @M3nopreemption disables preemptive scheduling, on platforms where
user level threads are used.
- @M3netobjlog produces debugging information for tracing network
objects invocations.
- @M3ngcmonitor produces debugging information for tracing network
objects distributed garbage collection.
- @M3StarTrek disables showing a StarTrek shaped icon during
garbage collection pauses when using the Trestle library.
- Options @M3CheckShape, @M3TraceWinMsgs, and @M3SlowTrace are available
to activate sanity checks on VBT shapes, and to produce a trace of Windows
messages for Trestle in Win32.
Last modified on Thu Jan 4 11:08:03 PST 1996 by heydon
modified on Thu Jun 1 08:16:06 PDT 1995 by kalsow
modified on Thu Jan 7 18:40:57 PST 1993 by muller