Speaker: Chris Seaton
(He / him / his)
Researcher (Senior Staff Engineer) @Shopify
He was formerly a Research Manager at the Oracle Labs Virtual Machine Research Group, where he led the TruffleRuby implementation of Ruby, and worked on other language and virtual machine projects. Before this he completed a PhD at Manchester where he researched programming languages and irregular parallelism, and an MEng at the University of Bristol on languages with mutable syntax and semantics.
In his spare time he’s Squadron Leader of the Cheshire Yeomanry squadron of the Queen’s Own Yeomanry, Cheshire’s historic reserve light cavalry squadron.
Session + Live Q&A
Understanding Java Through Graphs
Many people will know that when you use Java you compile your application using the javac compiler to a data structure called bytecode. Many people will also be familiar with a data structure called an abstract-syntax-tree, or AST, which is the way that the Java compiler represents your Java source code while compiling.
Fewer people will be aware that there’s another key data structure used at runtime to JIT compile Java programs to native code - the compiler intermediate representation, or the IR. The compiler transforms and optimizes your code by manipulating this data structure. By knowing about this representation, we can understand at a deeper level how Java reasons about your program when optimising it.