Vasily Chekalkin wrote:
> Hello.
> 
> I'm going to merge tt452_reduce_mmd_branch back to trunk.
> 
> Sort list of changes:
> - VTABLE calls doesn't use MMD for most of cases.
> - Pmc2c provides default MULTI method for corresponding VTABLE methods.
> It was made to support consistent MMD override of "method form" of
> VTABLE calls.
> - All failing tests was marked as "todo => 'TT#452'" for future review.
> Actually they should be removed from testsuite, because we doesn't use
> MMD for VTABLE calls anymore. But for additional sanity check I left
> them "as is".
> 
> So, if there is no objections I'll merge it into trunk into next few days.


Coke has raised a red flag about this, see TT #713.  This kind of change
*does* change behavior, and breaks things.  Apparently checking
pmc->vtable->base_type isn't sufficient, because it isn't really the
base type, it's the current type (at least for pmc2c generated classes).
 So, subclasses of integer (for instance) fail the equality test, where
the previous MMD stuff worked.

I'm hoping that calling VTABLE_isa() will work better than the switch
statements did, and have provided Coke with a patch so he can try to
verify this.

Coke's problem was actually due to a previous TT #452 patch, r38000 (by
cotto++).  But the stuff in your branch uses the same strategy, and I
think will have the same problem.

Mark
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to