JIT Compilation
JavaScript 🔴 SeniorDéfinition
Compilation Just-In-Time : V8 interprété d'abord le bytecode (Ignition), puis compile en code machine optimise (TurboFan) les fonctions chaudes. Peut desoptimiser si les hypothèses sont invalides.
Analogie
Un cuisinier qui improvise la première fois (interprétation), puis écrit la recette (compilation) quand il a assez d'expérience avec le plat.
Exemple de code
// V8 pipeline:
// 1. Parser -> AST
// 2. Ignition -> Bytecode (interprete)
// 3. Profiling (quelles fonctions sont chaudes?)
// 4. TurboFan -> Code machine optimise
// 5. Deopt si les types changent
Cas d'usage
Comprendre pourquoi le code JS est rapide malgré le typage dynamique, et comment éviter les deoptimisations.