At 7:47 PM +0200 7/21/03, Juergen Boemmels wrote:
* Is there a way to trace only a part of the rootset? pobject_lives
  only adds an element to the root-set. But creation of the rootset
  and tracing of PMCs are done (as far as I can see) in only one
  function: trace_active_PMCs.

Not at the moment. I think we could use that functionality, though, since we could use it to build the destruct tree for dead


* The root set is a linked list with an circular end. The end of this
  list is stored in the interpreter structure interprerter->mark_ptr,
  the start of the list is a local variable in trace_active_PMCs.
  Whats the reason for this choices? (Especially why is this list not
  NULL-terminated)

Interesting. It was originally a singly-linked list, though as the DOD run's concerned it doesn't much matter.


* How can I alloc a fixed amount of garbage collected memory, which
  can be shared be more than one PMCs.
  io = (Buffer*)(pmc->ext->data)->obj.u.b.bufstart
  are IMHO far to many indirections. There must be a shorter way.

Writable or just readable? If it's readable you can COW-clone the buffer data. If writable, then we need to put that functionality in if you need it.


* Should the standard-filedescriptors be timely destructed?

No. I don't think any filehandle should be marked timely on its creation--if a language determines that a filehandle should be timely destructed it ought to mark it just before leaving scope so it can be cleaned up as part of the scope exit if the thing does go out of scope. (And I'm not sure that normal filehandles should be marked even then, but we'll probably do that at least in the perl compiler)
--
Dan


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

Reply via email to