On Mon, Jun 14, 2004 at 08:53:10AM -0400, Dan Sugalski wrote: > At 12:53 PM -0500 6/13/04, Matt Fowles wrote: > >Nicholas~ > > > >I will try to answer what I can, based on my current experience > >making those array PMCs. > > > > > >Nicholas Clark wrote: > > > >>a data pointer > >> which I can use. I am always responsible for freeing anything > >> there(?) > >> and to do this I need to set the active destroy flag(?) > >> This flag is not the same as the high priority DOD system(?) > >> Does the garbage collector ever consider this pointer? > >> Does it ever chase what it points to? > >> > >You are responsible for freeing it by setting the active destroy flag. > > Well... no. You're not. If the memory hanging off the data pointer > was allocated from one of parrot's managed pools (either free memory > or pmc/buffer header) then you don't have to free it.
There's a memory internals document, but I can't spot any document given an API overview on how to allocate memory this way. The implication of what you're saying is that the data pointer is checked by the DOD, and any PMC it points directly to isn't dead. Nicholas Clark