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

Reply via email to