TurboFan
TurboFan est l'un des compilateurs optimisants de V8 exploitant un concept appelé « Sea of Nodes ». L'un des articles du blog de V8 propose une vue d'ensemble de TurboFan. Plus de détails peuvent être trouvés dans les ressources suivantes.
Articles et articles de blog
- Une histoire de TurboFan
- Ignition + TurboFan et ES2015
- Introduction à l'optimisation spéculative dans V8
Présentations
- CodeStubAssembler : Redux
- Vue d'ensemble du compilateur TurboFan
- TurboFan IR
- Conception JIT de TurboFan
- Calcul rapide pour les langages dynamiques
- Désoptimisation dans V8
- TurboFan : une nouvelle architecture de génération de code pour V8 (vidéo)
- Un stage sur la paresse (+ article de blog)
Documents de conception
Ce sont des documents de conception principalement liés aux détails internes de TurboFan.
- Spécialisation du contexte de la fonction
- Plan d'optimisation des paramètres restants et objets exotiques d'arguments
- Intégration des outils de développement TurboFan
- Intégration TurboFan
- Heuristiques d'intégration TurboFan
- Élimination des contrôles redondants de limites et de dépassement TurboFan
- Désoptimisation paresseuse sans modification du code
- Allocateur de registres
- Nœuds de projection dans TurboFan
Documents de conception associés
Ce sont des documents de conception qui ont également un impact significatif sur TurboFan.
- Document de conception des noms de propriété calculés (re)design
- Plan de performance ES2015 et au-delà
- Document de conception des propriétés intégrées des itérateurs
- Rendre les classes ES2015 rapides
- Document de conception des propriétés intégrées des expressions régulières (re)design
- Performance des appels avec étalement