See "Notes on an Architecture for Dynamic Invocation"
Dynamic languages have rich, loosely-linked call sites. The present JVM architecture supports Java call sites directly, and these are statically linked, with carefully limited dynamic linking and dispatch. It is difficult to emulate more dynamic call sites; the simulation overheads make for complex implementation, voluminous bytecodes, slow interpreted execution, and poor optimizability in the JIT.
The solution is JVM support for a new sort of call site, sometimes called "invokedynamic". This is the prime deliverable of JSR 292.
In JSR 292 Expert Group deliberations so far, dynamic call sites appear to require a separate, lower-level facility for specifying independent units of behavior, called called method handles (6655638). The present RFE would add dynamic (re-)linking and an architecture for programmable method guards (type dispatch) to obtain the desired dynamic call sites.