[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