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

Meeting: purging deleting and otherwise mistreating objects

Abstract:  We need a meeting today (unfortunately) to figure out how
to mange storage deletion, object destruction, and object purging (the
goal :-).  I propose today at 2pm.  I would like Michael, Mark, Ravi,
and Hill.  Everyone else is invited but not directly related.

This started when I discovered a moose on my timeline.  The big
problem I need to solve is how can I purge objects (write them to disk
and convert them to stubs), when some of the objects may be executing
on the stack.  The very next thing they do may access an instance
variable.  Below I list trigger phrase for the directions of
solution that markm, michael, and me figured out on Saturday.

Each shepherd has an inUse count.  Every entry point into the objet
increments it.

Every entry point into as shepherd adds it to a chain of pointers
much like strong pointers that the purge routines check before purging
a given object.

Have a platform specific routine to walk back the stack chain and
identify frames that are executing in Shepherds.  Can this be dome safely?

Always use stubs (which can be automatically generated to do either of
the above).

given that we generate source code changes, how do we generate all
these hooks for the purge routine: manually (yech), or automatically
(almost as bad).  The automatic solutions are with the translator (but
we need hooks in Smalltalk too), using stubble to generate wrapping
subclasses (painful), using stubble to generate implementation classes
(not currently what it does).

then we went into questions like "what does delete/destroy mean for
stubs" and got ourselves really confused.

see you at 2