TurboFan
TurboFan es uno de los compiladores optimizadores de V8 que utiliza un concepto llamado “Sea of Nodes”. Uno de los artículos del blog de V8 ofrece una visión general de alto nivel sobre TurboFan. Más detalles se pueden encontrar en los siguientes recursos.
Artículos y publicaciones en blogs
- Una historia sobre TurboFan
- Ignition + TurboFan y ES2015
- Una introducción a la optimización especulativa en V8
Presentaciones
- CodeStubAssembler: Redux
- Una visión general sobre el compilador TurboFan
- TurboFan IR
- Diseño JIT de TurboFan
- Aritmética rápida para lenguajes dinámicos
- Desoptimización en V8
- TurboFan: una nueva arquitectura de generación de código para V8 (video)
- Una pasantía sobre la pereza (+ publicación en el blog)
Documentos de diseño
Estos son documentos de diseño que están principalmente relacionados con los aspectos internos de TurboFan.
- Especialización del contexto de función
- Plan de optimización para parámetros resto y objetos exóticos arguments
- Integración de herramientas de desarrollo con TurboFan
- Inlining en TurboFan
- Heurísticas de inlining en TurboFan
- Eliminación de límites redundantes y comprobación de desbordamiento en TurboFan
- Desoptimización perezosa sin parcheo de código
- Asignador de registros
- Nodos de proyección en TurboFan
Documentos de diseño relacionados
Estos son documentos de diseño que también afectan significativamente a TurboFan.
- Documento de diseño de nombres de propiedades computadas (re)diseño
- Plan de rendimiento para ES2015 y más allá
- Documento de diseño de iteradores integrados
- Hacer que las clases de ES2015 sean rápidas
- Documento de diseño sobre integrados de expresiones regulares (RegExp)
- Rendimiento de llamadas con spread