Tamarin (motor JavaScript)
From Wikipedia, the free encyclopedia
Tamarin fue un proyecto de máquina virtual para ECMAScript desarrollado inicialmente por Adobe Systems en colaboración con Mozilla. Su objetivo era proporcionar un motor de ejecución de alto rendimiento basado en la máquina virtual utilizada en ActionScript, con la intención de integrarlo en el motor JavaScript SpiderMonkey como parte del desarrollo de ECMAScript.[1]
| Tamarin | ||
|---|---|---|
| Información general | ||
| Tipo de programa | intérprete de JavaScript | |
| Desarrollador | Adobe Systems y Mozilla | |
| Licencia | MPL 1.1 / GPL 2.0 / LGPL 2.1 | |
| Estado actual | Discontinuado | |
| Información técnica | ||
| Programado en | C++ | |
El proyecto fue anunciado en 2006 tras la liberación del código fuente de la ActionScript Virtual Machine (AVM2). Sin embargo, debido al abandono de la especificación ECMAScript y a cambios estratégicos dentro de Mozilla, Tamarin no llegó a integrarse oficialmente en SpiderMonkey y fue progresivamente abandonado.[2]
Historia
En noviembre de 2006, Adobe anunció la liberación del código fuente de AVM2, la máquina virtual que ejecutaba ActionScript en Adobe Flash Player, bajo un esquema de trilicencia (MPL/GPL/LGPL).[3]
El plan inicial consistía en
- Integrar Tamarin dentro de SpiderMonkey.
- Implementar características avanzadas previstas para ECMAScript .
- Incorporar compilación Just-In-Time (JIT) para mejorar el rendimiento.
- Unificar el desarrollo de motores JavaScript entre Adobe y Mozilla.
Sin embargo, el desarrollo de ECMAScript generó desacuerdos en el comité ECMA International (TC39), lo que llevó a la cancelación de dicha especificación en favor de una evolución incremental que culminó en ECMAScript (2009) y, posteriormente, ECMAScript 2015.[4]
Como consecuencia, Mozilla optó por continuar el desarrollo independiente de SpiderMonkey, introduciendo sus propios compiladores JIT como TraceMonkey e IonMonkey.
Objetivos técnicos
Entre los objetivos técnicos principales del proyecto se encontraban:
- Integración del recolector de basura de Tamarin con SpiderMonkey.
- Adaptación del compilador JIT a múltiples arquitecturas de hardware.
- Implementación parcial de un compilador ECMAScript autoalojado (self-hosting).
- Mejora significativa del rendimiento en aplicaciones web complejas.
Cancelación y legado
Tamarin perdió relevancia tras el abandono de ECMAScript 4 y el avance independiente de los motores JavaScript modernos. Con la discontinuación oficial de Adobe Flash Player en 2020, el proyecto quedó definitivamente obsoleto.
Actualmente, Tamarin se considera un proyecto histórico dentro de la evolución de los motores JavaScript y del ecosistema ECMAScript.