#713: Too little MMD? i_add doesn't know about subclasses.
-------------------+--------------------------------------------------------
Reporter: coke | Owner:
Type: bug | Status: new
Priority: major | Milestone:
Component: core | Version: trunk
Severity: high | Keywords: tcl blocker
Lang: | Patch:
Platform: |
-------------------+--------------------------------------------------------
Comment(by Infinoid):
Replying to [comment:1 coke]:
> Confirmed; If I revert r38000, then the partcl bug
(http://code.google.com/p/partcl/issues/detail?id=81) is resolved.
Thanks. So apparently a switch statement around pmc->vtable->base_type
isn't as smart as the previous MMD stuff was. After looking a little more
closely, it seems the base_type field always contains the *current* type,
not the base type. (For classes generated by pmc2c, at least.) I'm
guessing MMD is smart enough to go look at the inheritance tree when it
matches this up.
Could we replace the base_type stuff with a simple call to VTABLE_isa(),
perhaps? I'd like to find a way to be smart about inherited types, and
yet still retain some of the performance gains.
I'll attach a patch that does this.
Mark
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/713#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets