[Oberon] PO2013 - SD Image Tool
Andreas Pirklbauer
andreas_pirklbauer at yahoo.com
Wed May 20 21:22:59 CEST 2020
> Modules.Load("System", Mod); Mod := NIL;
>
> and then Mod := NIL ???
The global pointer variable Oberon.Mod only exists because
Modules.Load expects a VAR parameter of type Modules.Module.
It is not used otherwise in module Oberon.
The assignment Mod := NIL is just to make sure that the garbage collector
doesn’t mistakenly use Oberon.Mod as a root of a “graph" to be traversed.
(this assignment is - strictly speaking - not necessary, because Kernel.Mark
considers any pointers < heapOrg NIL anyway, but it’s better if it doesn’t even try)
More information about the Oberon
mailing list