On Thursday 07 February 2008 17:50:45 chromatic wrote:

> There are Parrot_clone_vtable() calls in all the places I expect, but
> there's a misassignment somewhere that's apparently doing the wrong thing.  

... and the culprit is init_class_from_hash(), in the Class PMC, which cloned 
the parent's vtable but didn't also clone the ro_variant_vtable member of 
that vtable.

Fixed in r25598.

I suspect that Parrot_clone_vtable() probably should also clone that member, 
as I can't imagine a situation where we don't want a complete clone.

I also wonder how much duplication there is between init_class_from_hash() and 
parrot_class_register() in src/oo.c.  Someone might look into that for a good 
opportunity to delete more nearly-identical code.

-- c

Reply via email to