Dan Sugalski <[EMAIL PROTECTED]> wrote: > So, I'm doing these, because I need 'em, and we might as well get the > things in now. For the record, these things will be called as > functions (not methods), with three parameters, so the signature > looks like:
A short question WRT implementation: shouldn't all MMD functions just use one function slot? You now seem to duplicate the whole table. When a C function is inserted, it could be a CSub[1] PMC. When a bytecode function is registered it overrides the existing (or default) slot and gets called instead. Both functions could be called by C<invoke>. The invoke vtable of the function does the right thing. One further question: the C<mmddispatch> opcode is supposed to explicitely run the function, isn't it? Is it needed? Why not just do: $P0 = $P1 + $P2 # call MMD func if registerd [1] The current CSub PMC looks totally bogus and seems to be unused. S. classes/nci.pmc::invoke. The CSub should have the same invoke call. leo