Hi all,

While I must start this post out by saying that I've never implemented either STM or a garbage collector, during a discussion on #parrot (is that channel logged?), a similarity between the two processes occurred to me.

Would this be an adequate expression of a generational Garbage Collector, in terms of STM;

  1. start transaction for a memory region / "incubator"

  2. gather a set of objects for "update" (giving you a "consistent
     read" copy of them).

  3. commit memory transaction.  The consistent read copy becomes the
     master, and the old incubator is reaped.

There is the gaping gap in the above about how you know which objects to gather, of course.

I'm just thinking it would be "nice" if the implementation for these two advanced technologies could share the same basic memory transaction API, to get two elusive birds with one stone.

Sam.

Reply via email to