- classes compiled with invokedynamic can only be used on JDK 1.7+
- without invokedynamic, Groovy classes are still compatible with JDK 1.5+
- call site caching, as implemented in "normal" Groovy is replaced with invokedynamic since Groovy 2.1
- it is possible to mix classes compiled with and without invokedynamic in the same project, as long as you run JDK 1.7+
- depending on the JVM (even different minor versions of the JVM), you can target close to Java performance for dynamic Groovy with invokedynamic support activated
All JDK 7 versions ranging from 7u21 to 7u55 are buggy with regards to invokedynamic. If you plan to use invokedynamic support, make sure you either use 7u60 or JDK 8.