<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1491579440053_2868" dir="ltr"><span id="yui_3_16_0_ym19_1_1491579440053_2983">To be precise:</span></div><div id="yui_3_16_0_ym19_1_1491579440053_2868" dir="ltr"><span><br></span></div><div id="yui_3_16_0_ym19_1_1491579440053_2868" dir="ltr"><span id="yui_3_16_0_ym19_1_1491579440053_3116">If you don't make dynamically allocated objects reachable via at least one global pointer variable, they simply won't be marked during the mark phase of the garbage collector, which means that they *will* be collected during the subsequent scan phase. That's the whole point of garbage collection...</span></div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1491579440053_2931"><br><br></div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1491579440053_2931"><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym19_1_1491579440053_2872" style="display: block;"> <div style="font-family: Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 13px;" id="yui_3_16_0_ym19_1_1491579440053_2871"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1491579440053_2870"> <div dir="ltr" id="yui_3_16_0_ym19_1_1491579440053_2869"> <font size="2" face="Arial" id="yui_3_16_0_ym19_1_1491579440053_2873"> <hr size="1" id="yui_3_16_0_ym19_1_1491579440053_2909"> <b><span style="font-weight:bold;">From:</span></b> Andreas Pirklbauer <andreas_pirklbauer@yahoo.com><br> <b><span style="font-weight: bold;">To:</span></b> ETH Oberon and Related Systems <oberon@lists.inf.ethz.ch> <br><b><span style="font-weight: bold;">Cc:</span></b> Andreas Pirklbauer <andreas_pirklbauer@yahoo.com><br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, April 7, 2017 5:35 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> [Oberon] Fw: FPGA - Bitmaps.Mod<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_ym19_1_1491579440053_2932"><br><div id="yiv0560424603"><div id="yui_3_16_0_ym19_1_1491579440053_2934"><div style="color:#000;background-color:#fff;font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px;" id="yui_3_16_0_ym19_1_1491579440053_2933"><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_2588">...</div><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_2588" dir="ltr"><br></div><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_2588" dir="ltr">4. If you want your objects to be automatically collected by the Oberon garbage collector, you must make it globally reachable via a global pointer. Then they will appear in mod.ptr in the module block which are used as roots for the garbage collector. (Oberon uses all named pointer variables in existence as roots<font face="ArialMT" size="2" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_5223"> for the mark phase of the garbage collector. See Oberon.GC for the details. It simply calls Kernel.Mark(mod.ptr) for each loaded module mod.</font></div><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_2588" dir="ltr"><font face="ArialMT" size="2"><br></font></div><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_2588" dir="ltr"><br></div><div title="Page 106" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4475" title-off=""><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4476"><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4477"><div title="Page 106" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4496" title-off=""><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4497"><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4498"><div title="Page 106" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4517" title-off=""><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4518"><div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4519">
<div title="Page 106" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4538" title-off="">
<div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4539">
<div id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4540">
<div dir="ltr" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4541"><span style="font-size:10.000000pt;font-family:'ArialMT';" id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4542"> <br id="yiv0560424603yui_3_16_0_ym19_1_1491577030619_4543"></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div></div></div><br><br></div> </div> </div> </div></div></body></html>