Optimization & Runtime
A 13-module path through optimization & runtime, in study order from foundations to the frontier.
Modules
- Basic Blocks and Control-Flow Graphs
- Data-Flow Analysis Framework
- Constant Folding and Constant Propagation
- Common Subexpression Elimination
- Dead-Code Elimination and Liveness Analysis
- Loop Optimizations and Loop-Invariant Code Motion
- Static Single Assignment (SSA) Form
- Runtime Organization: The Call Stack and Activation Records
- Heap Management and Dynamic Allocation
- Garbage Collection Strategies
- Interpreters versus Compilers
- Virtual Machines and Bytecode
- Just-In-Time Compilation