On Wed, Sep 07, 2005 at 02:37:33PM +0200, Leopold Toetsch wrote:
> Nicholas Clark wrote:
> >For starters, in glossary.pod I'm failing to find definitions for
> >"destruction" and "finalisation". One is about cleanup actions on objects/
> >PMCs that need something actively cleaned up, rendering active objects down
> >to bare memory, and the other is about reclaiming bare memory for re-use.
> 
> 1) destruction: low-level object cleanup like free(3) of malloced memory
> 2) finalisation: high-level, user-visible, overridable, e.g. close DB 
> connection

Thanks. I added 2 paragraphs to glossary.pod to record this.


> >  does parrot make any guarantee that all objects will be rendered down to
> >  bare memory before program exit?
> 
> Parrot calls the "destroy" vtable function for all PMCs that have marked 
> themselves with PObj_active_destroy_FLAG, when the object gets recycled 
> due to GC *or* at program exit.
> 
> There is no finalise or finalize vtable function yet. I think that these 
> two task should be distinct

It seems reasonable to make these 2 tasks distinct, given that only finali[zs]e
needs to be explicit, and avoiding destroy with exit() could be a big
efficiency gain.

But what we have is already useful enough for Ponie. Thanks for the
clarification.

Nicholas Clark

Reply via email to