On Wed, Feb 17, 2010 at 2:39 PM, Peter Lobsinger <[email protected]> wrote: > On Wed, Feb 17, 2010 at 12:22 PM, Andrew Whitworth > <[email protected]> wrote: >> On Wed, Feb 17, 2010 at 11:22 AM, Peter Lobsinger <[email protected]> wrote: >>> As an aside, methods on C-based PMCs use NCI thunks, so unless you can >>> shoehorn an API into vtables, you're no further ahead by trying to use >>> PMCs in the current system. >> >> Is that still the case? I thought that the PCC refactors changed that. >> At the very least argument handling is done differently, so it should >> be possible to avoid NCI thunks (or, most of them) when calling >> C-based methods. > > Seems you're right. pmc2c generates the pcc boilerplate and doesn't > delegate to nci. I was confused by references to pmc methods in > config/gen/call_list/* and the fact that pmc2c calls these functions > "Parrot_${pmc_name}_nci_${method_name}".
Turns out even this isn't strictly true. pmc2c generates pcc boilerplate for regular methods, but delegates to NCI for multis. I don't know why. This should probably be changed at some point to be consistent one way or the other (I'm biased towards delegating to NCI for obvious reasons). _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
