[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.