On Fri, Dec 04, 2009 at 09:00:33AM -0700, Kevin Tew wrote: > Pmichaud is hinting at my primary concern. > > Intergenerational pointer invariants should not be enforced manually. > > Constant PMCS are a headache. We have had lots of "GC bugs" because > developers hung non-constant objects off of a constant pmc. > > This is even worse if a specific PMC type is used in both constant > and non-constant settings. > [...]
In my previous message I failed to mention that "long lived PMC" is not always the same as "constant PMC". I'd like for us to make that clear distinction now, though, and not fall into the trap of thinking that we're only talking about constants or PMCs that are invariant throughout their lifetime. Certainly someone's HLL program that parses a large file and builds a very large data structure would end up with long-lived PMCs that aren't constant. Indeed, this is exactly what happens with compilers such as NQP at the moment. The scary bit is the amount of performance hit we appear to be taking even though the structures are not all that large. Pm _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
