Tutorial# Tutorial part 1: “Hello world” Tutorial part 2: Creating a trivial machine code function Options Full example Tutorial part 3: Loops and variables Expressions: lvalues and rvalues Control flow Visualizing the control flow graph Full example Tutorial part 4: Adding JIT-compilation to a toy interpreter Our toy interpreter Compiling to machine code Setting things up Populating the function Verifying the control flow graph Compiling the context Single-stepping through the generated code Examining the generated code Putting it all together Behind the curtain: How does our code get optimized?