Re: Patches that will come...

[email protected] (Leopold Toetsch) Thu, 2 Sep 2004 09:28:58 +0200
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
Nicholas Clark <[email protected]> wrote:

[ refcounting in XS ]

> To us the first step is to abolish the refcount field and let parrot do all
> the refcounting via its PMC reference marking.

Is there XS code around that directly manipulates aggregates? E.g.

  AvARRAY(av)[i] = some_sv;

or is it enforced to use the interface:

  Perl_av_store(av, i, some_sv);

For the former there are possiblities that an incremental or
generational GC scheme might break. This problem could arise with any
kind of aggregate stores.

> As to scope, I'm hoping that the parrot fast DOD for live objects is fast
> enough.

Detecting that all objects that need timely destruction are alive, should
be really fast. I can see troubles though, when that's not the case,
i.e. when the last reference of at least one such object vanished. This
could imply a full DOD run to be certain that the object is really
unreferenced.

> ... And with lexical pragmas it would be possible for ponie aware projects
> to disable it.

Either that, or an explicit "the_object_is_really_dead $fd".

> Nicholas Clark

leo