Solucionando problemas da exceção Nashorn “Código de método muito grande!”

Corridajjs ouScriptEngine#eval no meu JavaScript (https://gist.github.com/also/005fd7c200b20f012e10) trava com essa exceção e sem mais detalhes:

Exception in thread "main" java.lang.RuntimeException: Method code too large!
        at jdk.internal.org.objectweb.asm.MethodWriter.getSize(MethodWriter.java:2065)
        at jdk.internal.org.objectweb.asm.ClassWriter.toByteArray(ClassWriter.java:856)
        at jdk.nashorn.internal.codegen.ClassEmitter.toByteArray(ClassEmitter.java:577)
        at jdk.nashorn.internal.codegen.CompilationPhase$8.transform(CompilationPhase.java:396)
        at jdk.nashorn.internal.codegen.CompilationPhase.apply(CompilationPhase.java:513)
        at jdk.nashorn.internal.codegen.Compiler.compile(Compiler.java:361)
        at jdk.nashorn.internal.runtime.Context.compile(Context.java:1071)
        at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:1019)
        at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:490)
        at jdk.nashorn.tools.Shell.runScripts(Shell.java:306)
        at jdk.nashorn.tools.Shell.run(Shell.java:168)
        at jdk.nashorn.tools.Shell.main(Shell.java:132)
        at jdk.nashorn.tools.Shell.main(Shell.java:111)

Como posso descobrir o que está causando o código do método muito grande? Eu tentei algumas opções de log parajjs (--log=codegen:info), mas não vi nada que apontasse para um culpado.

Eu testei com as versões Java 1.9.0-ea-b34 e 1.8.0_20-b26.

questionAnswers(2)

yourAnswerToTheQuestion