#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

Reply via email to