All, In spite of Pavel Ozhdikhin implemented value profiling based interface devirtualization our 'helper_get_interface_vtable' is so slow (>10 times than RI in microtests) so it still consumes some measurable percents on benchmarks like SpecJBB2005. We can improve this helper performance by inlining it. The problem is how to do it.
In http://issues.apache.org/jira/browse/HARMONY-2746 there is a patch initially developed by Alex Astapchuk. The patch adds caching of the first N (3) interface tables in Class struct. If this patch is OK, I'll write fast path helper using only these fields, without iteration of whole interface tables list in a loop. VM gurus, can you review it, please? -- Mikhail Fursov
