[Oberon] memory freeing
Christian Demmer
chris at gcjd.de-web.ws
Wed Jun 30 11:28:57 MEST 2010
spir wrote:
>When I resize the array actually holding a sequence's elements, the previous array is lost. In C or Pascal, I should free it, since it is dynamically allocated (in heap, certainly); but there is no such statement (free, release) in Oberon AFAIK.
Correct. Oberon is garbage collected. If you hold some pointers to the
old array set them to NIL.
>The report speak about GC, but this is in the informative part presenting some aspects of Oberon-the-system as an example environment for Oberon-the-language.
THe Oberon language does not really work without a runtime system
providing some kind of garbage collection.
>oo2c, the compiler I presently, indeed can be built to use a GC (and I did it). So, I should be safe. But this does not solve the issue in the general case. What should I do?
Nothing. The GC is the solution to the general case. Everything else
breaks sooner or later. An Oberon runtime should ensure that there are
no dangling pointers therefore a safe implementation of Free would need
to trace the heap anyway.
Greetings, Christian
More information about the Oberon
mailing list