[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Garbage Collector
> > > that oo2c uses Boehm's gc, and can only provide a very small set of
> > > your interface. And I also do not want to burden oo2c's run-time
> > > system with any luggage that is essentially unused in oo2c/gc.
> > >
> >
> > Ok, I've marked the items needed for the public interface with an
> "*".All
> > other items are purely for the oo2c runtime use. I'm not sure what
> > you mean when you say that oo2c "can only provide a very small set of
> > your interface".
>
> The oo2c distrib has two gc variants:
> o no GC at all, and
> o Boehm's conservative garbage collector.
>
> The first variant cannot provide any functionality on OGC.Mod (i.e.,
> only the "empty" gc), and the second can support finalizers (if your
> definition of a finalizer agrees with the one of Boehm's gc). Both
> cannot return meaningful values for Available() and
> AvailableLargest().
>
> Except for GC() and RegisterObject(), the two variants of the standard
> oo2c distrib cannot implement any of the variables or functions.
> This is what I mean with "oo2c can only provide a very small set of your
> interface". I would appreciate, if your specs for OGC take this into
> account.
Ah, I see the problem now. You're under the impression that my goal
is to provide an add-on GC. Actually, I'm proprosing to replace all
the existing functionality with an Oberon-2 based GC. Additional
functionality will be added to the compiler as needed to support the
new GC. This way there are no variants in terms of whether a GC is
supported or not. All occurrences of OOC will support this new GC.
No other GCs will be required or even desired. Although, I believe
that, as a start, the "GC" and "RegisterObject" functions are enough
for the user interface. Adding the additional user functions should
be easy enough.
> > All theelements added to the ModuleDesc will be required (although
> > I'm still not sure what "block" is for).
>
> Required as part of the public interface for the user, or as part of
> the inner workings of the run-time system?
No, the user needs none of these -- they are purely for the run-time.
Michael G.
Michael G.