<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_1492446324497_4018">Then it is probably not related to FileDir. Still, you may want to rebuild the inner core and the rest of the Oberon system including the compiler, just to be on the safe side.</div><div id="yui_3_16_0_ym19_1_1492446324497_4018"><br></div><div id="yui_3_16_0_ym19_1_1492446324497_4018"><br></div><div id="yui_3_16_0_ym19_1_1492446324497_4018">The only change to your module System I see is a bug in procedure System.Clear which I fixed some time ago :-) It should not affect GC either.</div><div id="yui_3_16_0_ym19_1_1492446324497_4018"><br></div><div id="yui_3_16_0_ym19_1_1492446324497_4018"><br></div><div id="yui_3_16_0_ym19_1_1492446324497_4018" dir="ltr">In the latest version of Oberon, GC works flawlessly. Perhaps you don't have all the latest sources. It should work.</div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1492446324497_4065"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym19_1_1492446324497_4069" 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_1492446324497_4068"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1492446324497_4067"> <div dir="ltr" id="yui_3_16_0_ym19_1_1492446324497_4066"> <font size="2" face="Arial" id="yui_3_16_0_ym19_1_1492446324497_4070"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Tomas Kral <thomas.kral@email.cz><br> <b><span style="font-weight: bold;">To:</span></b> 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> Monday, April 17, 2017 6:16 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Oberon] FPGA - Garbage Collector - GC<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_ym19_1_1492446324497_4073"><br><div dir="ltr" id="yui_3_16_0_ym19_1_1492446324497_4072">Hi Andreas, Paul,<br clear="none"><br clear="none">I only rebuilt the `FileDir.Mod' to obtain a symbol file needed as<br clear="none">import to `System.Mod'.<br clear="none"><br clear="none">I had backed the `System.rsc' to .Bak and deleted FileDir.{smb.rsc}<br clear="none">afterwards.<br clear="none"><br clear="none">It breaks GC all the same.<br clear="none"><br clear="none">This is diff on `System.Mod'<br clear="none"><br clear="none"><a shape="rect" ymailto="mailto:pi@raspberrypi" href="mailto:pi@raspberrypi">pi@raspberrypi</a> /usr/src/oberon/PO.V5.1 $ diff<br clear="none">System.Mod.txt ../PO.V5.0/System.Mod.txt<br clear="none">1c1<br clear="none">< MODULE System; (*JG 3.10.90 / NW 12.10.93 / NW 20.6.2016*)<br clear="none">---<br clear="none">> MODULE System; (*JG 3.10.90 / NW 12.10.93 / NW 28.11.2015*)<br clear="none">89c89<br clear="none">< PROCEDURE Clear*; (*clear Log*)<br clear="none">---<br clear="none">> PROCEDURE Clear*; (*used to clear Log*)<br clear="none">93c93<br clear="none">< NEW(buf); Texts.OpenBuf(buf); T :=<br clear="none">F.next(TextFrames.Frame).text; Texts.Delete(T, 0, T.len, buf)<br clear="none">---<br clear="none">> T := F.next(TextFrames.Frame).text; Texts.Delete(T, 0, T.len,<br clear="none">> buf)<br clear="none"><br clear="none">FileDir.Mod does not seem to have changed<br clear="none"><br clear="none"><br clear="none"><a shape="rect" ymailto="mailto:pi@raspberrypi" href="mailto:pi@raspberrypi">pi@raspberrypi</a> /usr/src/oberon/PO.V5.1 $ grep MODULE<br clear="none">> FileDir.Mod.txt<br clear="none">MODULE FileDir; (*NW 12.1.86 / 23.8.90 / 15.8.2013*)<br clear="none"><br clear="none">Tomas<br clear="none"> <br clear="none"><div class="yqt0479029773" id="yqtfd86447"><br clear="none">On Fri, 14 Apr 2017 10:21:45 +0000<br clear="none">Andreas Pirklbauer <<a shape="rect" ymailto="mailto:andreas_pirklbauer@yahoo.com" href="mailto:andreas_pirklbauer@yahoo.com">andreas_pirklbauer@yahoo.com</a>> wrote:<br clear="none"><br clear="none">> If you have changed module FileDir, its variable size and/or its code<br clear="none">> size will very likely have changed (even if the module interface<br clear="none">> itself has not changed). Therefore, pointers from within the module<br clear="none">> descriptor of FileDir, such as mod.code and mod.ptr, will no longer<br clear="none">> point to "correct" starting addresses in the various sections inside<br clear="none">> the module block of FileDir.<br clear="none">> <br clear="none">> So you will likely have to rebuild the inner core and load it onto<br clear="none">> the disk's boot area, e.g., by executing the commands [1]<br clear="none">> <br clear="none">> ORP.Compile Kernel.Mod FileDir.Mod Files.Mod Modules.Mod ~<br clear="none">> Linker.Link Modules ~<br clear="none">> Builder.Build Modules ~<br clear="none">> <br clear="none">> Note: It is the linking process that will update the module area<br clear="none">> layout (i.e. the linked list of the four modules Kernel, FileDir,<br clear="none">> Files and Modules), such that *after* rebooting, pointers like<br clear="none">> mod.ptr will be correct again. With the updated mod.ptr, the GC<br clear="none">> should work. Please make sure to also recompile the rest of the<br clear="none">> Oberon system including the compiler itself *before* rebooting system<br clear="none">> - just in case module keys of the inner core modules have changed.<br clear="none">> Otherwise it may not come up again.<br clear="none">> <br clear="none">> Andreas<br clear="none">> <br clear="none">> [1] e.g. see<br clear="none">> <a shape="rect" href="http://github.com/andreaspirklbauer/Oberon-building-tools" target="_blank">http://github.com/andreaspirklbauer/Oberon-building-tools </a><br clear="none">> <br clear="none">> <br clear="none">> <br clear="none">> ------------------------------------------<br clear="none">> Tomas Kral thomas.kral at email.cz Fri Apr 14 10:49:39 CEST 2017Hi,<br clear="none">> <br clear="none">> Now I have figured out, recompiling OR.Compile FileDir.Mod System.Mod<br clear="none">> ~ with most recent changes, stopped GC to collect garbage. Any ideas<br clear="none">> what I may have done wrong? Do I have to rebuild inner core?Tomas<br clear="none"></div></div><br><br></div> </div> </div> </div></div></body></html>