JavaScript JVM macro assembler DSL