[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Garbage Collector



> > The interface seems very exhaustive to me.  I wonder, which parts
of
> > it are actually private to the run-time system.  Could you please
the
> > items of the public interface, of both GC and Kernel, that need
to
> > exist for all implementations of OOC?  Please take into
consideration,
> > 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. 

> 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?

-- mva