Hello,

While reworking the IO-system I get deeper in the memory system than I
wanted to. So I have some questions:

* 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.

* 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)

* 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.

* Should the standard-filedescriptors be timely destructed? 
  If they are this makes the whole sweep 0/1 thing useless because
  there are always timely-destructing objects. Otherwise why are the
  standard-filedescriptors special.

Yes I have read docs memory-internals.pod
boe
-- 
Juergen Boemmels                        [EMAIL PROTECTED]
Fachbereich Physik                      Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern             Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F  23 F6 C7 2F 85 93 DD 47

Reply via email to