Dan Sugalski <[EMAIL PROTECTED]> wrote:
> On Tue, 2 Sep 2003, Leopold Toetsch wrote:

>> So if it was mark()ed already we return. That's not possible for freeze,
>> thaw, dump, clone whatever. These must keep track of already visited
>> objects via an hash for freeze, dump, clone, and via an ID array for
>> thaw.

> No, this isn't necessary. What you need to do when freezing an already
> frozen PMC is to emit a marker label that refers to the original version
> of the PMC,

So I have to do a lookup to get the marker, or...

> ... or always emit the marker when a PMC freezes another PMC and
> defer actual freezing of the PMC until the master freeze function walks
> over the PMC to freeze it.

on first freeze generate a maker (store it where in the PMC?) and
then... When I defer freezing of the aggregate the thawing doesn't work.
When everything gets defered, you have to walk the whole defered list
again, for simple types too, which already would have been done. Then in
another run, the marker has to get cleared.

*If* that works it still adds extra complexity to DOD.

>                                       Dan

leo

Reply via email to