We currently have 5 different strategies to implement invokeinterface (all measured in Alpern et al OOPSLA 2001 paper).
In practice, only two of them: indirect IMT and searched ITable are actually "good" choices.
(1) Remove the other three choices (naive, direct ITable, directIMT) to a patch in the research archive.
(2) Get searched iTable working again, including better optimization of the common case of a cache hit.
(3) re-evaluate searched iTable vs. IMT on dacapo benchmarks. There are some indications in the OOOPSLA 2001 paper and in other experience with IMTs that searched itable may be a better implementation technique on the more complex Java applications we are now running on Jikes RVM.