[Oberon] garbage collector

Patrik Reali reali at acm.org
Tue May 20 22:52:02 CEST 2003


No, it is not possible. The allocator will search for a free heap space
where to put the object.

As an alternative, you may write your own allocator and let it allocate
objects in your own memory block. I didn't think extensively at this, but I
think this will only work for "old style" pointer to records. If you have
objects with methods, some hidden fields are allocated for handling the
locking, which may get linked in a global structure and cause the GC to
traverse your unmanaged heap (and get confused....).

In the case of active object, the _are_  in such a global structure and this
will cause the problems mentioned previously.

-Patrik

----- Original Message -----
From: "Gérard Meunier" <gmeunier at club-internet.fr>
To: <oberon at inf.ethz.ch>
Sent: Tuesday, May 20, 2003 10:29 PM
Subject: Re: [Oberon] garbage collector


> ----- Original Message -----
> From: Patrik Reali <reali at acm.org>
> To: <oberon at inf.ethz.ch>
> Sent: Tuesday, May 20, 2003 11:05 AM
> Subject: Re: [Oberon] garbage collector
>
>
> > You have two options:
> >
> > 1. disable and enable the GC by hand (this could kill the system, if you
> use
> > a lot of memory)
> > 2. allocate a memory block (with SYSTEM.NEW) and do whatever you want
with
> > its contents
>
> Is it possible to allocate OBJECTs (possibly active ones) in such blocks?
>
> Gérard
>
>
> --
> Oberon at inf.ethz.ch mailing list for ETH Oberon and related systems
> http://www.lists.inf.ethz.ch/mailman/listinfo/oberon
>
>




More information about the Oberon mailing list