At 3:34 PM -0400 5/20/02, Mike Lambert wrote:
>  > At 12:06 AM -0400 5/19/02, Mike Lambert wrote:
>>  >Is there a plan to make a freed method for when pmc header gets put
>back
>>  >onto the free list? (This would require we call this method on all
>pmc's
>>  >before moving anything to the freelist, in case of dependancies between
>>  >pmcs and buffers)
>>
>>  Nope. I don't see a need--once the PMC's been destroyed, it belongs
>>  to the system.
>
>Um. I see we have a destroy() vtable method, but it's only called when one
>calls the destroy() op, and the PMC has PMC_active_destroy_FLAG. I don't
>get this. What's the point of actively-destroying things? I thought since
>we had a GC, we don't need to worry about this kind of stuff. I'd argue
>that destroy() should get called when the PMC gets put back on to the free
>list (similar to destructors in C++). That was the behavior I was
>documenting when I discussed destruct below, at least.

There are times when you know you're going to actively destroy 
something, in which case there's no reason not to just nuke it on the 
spot. Deterministic destruction and all that.

The DOD is supposed to also call destroy when it makes its sweep of 
the PMC arenas after doing a full liveness trace. It's done before 
the dead PMCs are put on the free list, because we'd not want to get 
some static PMCs cleaned up that the ones being destroyed depend on.

If that's not happening, we need to fix it so it does.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to