Talks
Events

JVM Creature Comforts

Ghadi Shayban at Clojure/conj 2014

Far from its history of focusing on one language, the JVM has evolved into a platform for hosting all sorts of guest languages whose execution semantics don’t necessarily align with Java’s. Hosting dynamic languages like Clojure poses unique challenges which led to the introduction of a new bytecode instruction, the first since 1995. In this talk we will survey mechanisms that the JVM exposes to guest languages, from invokedynamic and the MethodHandles API to future improvements like value types, “classdynamic”, and the experimental Truffle runtime. Language guts will spill as we look at state-of-the-art assembly code from Nashorn (a new JavaScript implementation for the JVM) and JRuby.

Ghadi Shayban is an engineer at LivingSocial, working on internal systems built in Clojure. He spent ten years in conservatory training as classical pianist, and currently has an active schedule as a chamber and symphony musician. Ghadi lives in Charleston, SC and is a contributor to Clojure and core.async.