JSR 292 introduces a new Java bytecode instruction, invokedynamic, and a new dynamic method linkage mechanism using method handles to better support dynamically typed languages on the JVM. The invokedynamic instruction and method handles allow linking of method calls without specifying the target type at compile time. A bootstrap method is called during linking to choose an appropriate method handle for each invokedynamic call site. This new approach addresses issues dynamically typed languages faced in meeting the static typing requirements of regular JVM bytecode instructions. Future enhancements may include structured ways to modify classes at runtime through interface injection.