The MMD_BXOR and MMD_BXOR_INT MMD slots are just adjacent entries in the function table. This is the simplest implementation and provides good cache locality for similar functions.
I think it's now time to review the code a bit and check if the whole concept is sane.
Interesting is the dispatch inside objects. These have a delegate vtable which runs a PASM function. But it could be redispatched before by installing an appropriate MMD version.
Finally we should probably rename the VTABLE_<function> macros to e.g.
DISPATCH_<function> which is either the current vtable call or the mmd_dispatch_<signature>(... ,MMD_<type>) function. --Or provide two sets of macros, i.e. have additionally MMD_DISPATCH_<function> macros?
See classes/ref.pmc for a current workaround and include/parrot/vtable.h for the current macros.
leo