facebook/presto — pull request #1624 by martint (2014-09-03 23:14:55+00:00)
Title: Don't generate so many invokedynamic callsite names

Java 7 doesn't seem to like too many unique callsite names in a single class (Java 8 works ok, though)
It causes execution for queries with many projections to fail with:

Exception in thread "main" java.lang.BootstrapMethodError: call site initialization exception
at java.lang.invoke.CallSite.makeSite(CallSite.java:298)
at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:295)
at Runnable_1.run404(Unknown Source)
at Runnable_1.run(Unknown Source)
at com.facebook.indytest.Main.main(Main.java:8)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.lang.NullPointerException
at sun.invoke.util.ValueConversions.unboxInteger(ValueConversions.java:77)
at java.lang.invoke.CallSite.makeSite(CallSite.java:282)
... 9 more

For future reference, here's a stand-alone test case that reproduces the issue: https://github.com/martint/indytest