Will Coleda via RT wrote:
* Parrot_mmd_add_function - src/inter_create.c //make_interpreter
Delete that line from src/inter_create.c. Also delete the line before which initializes 'interp->binop_mmd_funcs' to NULL.
These two lines are initializing the storage for the old MMD subsystem, which is never used anymore.
Note that this implies deprecating all functions that refer to 'interp->binop_mmd_funcs'. (It looks like those are all caught in this list, just double-check to make sure. Ah, I don't see 'dump_mmd' in this list, it can also be removed, as it doesn't do anything anymore.)
* mmd_cvt_to_types - src/multidispatch.c //Parrot_mmd_get_cached_multi_sig
'Parrot_mmd_get_cached_multi_sig' is only called by 'mmd_distance', which is only called by 'Parrot_mmd_sort_candidates'. 'Parrot_mmd_sort_candidates' is called all over the place (I standardized on that when I did the MMD cleanup).
Let's see what chromatic's MMD sort cleanup does. If it eliminates the call to 'mmd_distance' then problem solved. If not, then let's break the deprecation of 'mmd_cvt_to_types' out into a separate ticket for refactoring the unholy trio of 'mmd_cvt_to_types', 'Parrot_mmd_get_cached_multi_sig', and 'mmd_distance'.
Allison