JIT Compilation
JavaScript 🔴 SeniorDefinition
Compilation Just-In-Time : V8 interprete d'abord le bytecode (Ignition), puis compile en code machine optimise (TurboFan) les fonctions chaudes. Peut desoptimiser si les hypotheses sont invalides.
Analogie
Un cuisinier qui improvise la premiere fois (interpretation), puis ecrit la recette (compilation) quand il a assez d'experience 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 malgre le typage dynamique, et comment eviter les deoptimisations.