Join GitHub today
Methods that do not bind directly with invokedynamic #5246
With the reboot of the JRuby runtime in 9k, we lost some of the invokedynamic logic to bind directly through to method bodies. These cases reverted to "indirect" binding via the DynamicMethod.call path, since their unique call logic did not have an equivalent in the new JIT.
I have been fixing some of these, like Ruby to Java calls and aliased methods, but several remain. I list them here.
I also committed a change adding indirect binding warnings to the debug output from invokedynamic bindings.
Kwargs methods now bind directly (0a7419a) by folding in the frobnicated args list. This is a fairly complex set of method handles on top of the already complex frobnication process, but it does appear to help performance of a