possible • Relies on input type information collected via inline caches while functions run via the Ignition interpreter. • Generates the best possible code handling the different types it encountered • The fewer function input type variations the compiler has to consider, the smaller and faster the resulting code will be