[Oberon] PO2013 - Garbage collection while compiling whole system (was: PO2013 - Show Heap Blocks)

Michael Schierl schierlm at gmx.de
Wed Jun 24 12:08:45 CEST 2020


Hello Joerg,


Am 24.06.2020 um 11:04 schrieb Joerg:

> This is the reason, why you can‘t compile the whole system + compiler source in one go on a 1MB machine, as the compiler (ORB) needs a lot of memory that is not freed up by the GC until the compiler ends.
>
> I have a solution for that but this is another topic.

Depends on what "one go" means. My own batch module has a Batch.Collect
command which will trigger garbage collection, remember the current
position in the script and enable a background task (and stop the script
execution).

The background task will detect that the GC (also a background task) has
happened and resume the batch job where it left off. So for the user it
looks like it is "one go", although in practice the Oberon main loop is
running during the process.


Regards,


Michael


More information about the Oberon mailing list