Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Cada cierto tiempo Mozilla sale con una nueva versión de su popular navegador de Internet, Firefox. En esta ocasión hablamos de la versión 18, que incluye un nuevo compilador JIT (just-in-time), llamado IonMonkey. Esto promete mejorar notablemente el desempeño cuando Firefox está desplegando apps web, juegos, y otras páginas que se basen en mucho código Javascript.

IonMonkey da una nueva arquitectura que permite la optimización en el compilador JIT de Javascript. Difiere de los compiladores anteriores al incluir una representación intermedia (RI) y con tres pasos a seguir:

  • Traducir Javascript a la RI
  • Correr varios algoritmos para optimizar la RI
  • Traducir la RI final a código de máquina

Las optimizaciones incluyen:

  • Loop-Invariant Code Motion (LICM), lo que significa mover instrucciones fuera de los loops cuando sea posible
  • Sparse Global Value Numbering (GVN), una forma poderosa de eliminación de código redundante
  • Linear Scan Register Allocation (LSRA), el esquema de disponibilidad de registros usados en la JVM Hotspot y recientemente en la LLVM
  • Dead Code Elimination (DCE), remoción de instrucciones no usadas
  • Análisis de rangos; eliminación de la verificación de los mismos

La generación de código trabaja para máquinas de 32 y 64 bits x86 y en ARM. El nuevo diseño es similar a las técnicas usadas en el motor Javascript de Chrome (Crankshaft) y en ese sentido, ambos parecen tener el mismo desempeño.

Otras características en Firefox 18 son:

  • Soporte para Retina Display para los usuarios de Mac, lo que hace que se vea mejor en Firefox ver películas, jugar juegos o navegar por la red.
  • Una alternativa para deshabilitar contenidos inseguros en sitios seguros (HTTPS) para mantener la privacidad de sus comunicaciones con el sitio web. usted puede habilitar esta característica vía about:config (en la URL del navegador se pone esa instrucción y se entra al sistema de configuración de Firefox).
  • Soporte para los eventos estándar táctiles definidos por el consorcio W3C, además de los definidos por MozTouch.

Referencias:

Blog de Mozilla

Desde la Red…
Comentarios