Tamarin es una máquina virtual de software libre descontinuada con soporte de compilación justo a tiempo (JIT) destinada a implementar la cuarta edición del estándar de lenguaje ECMAScript (ES4). El código fuente de Tamarin se origina en ActionScript Virtual Machine 2 (AVM2) [1] desarrollado por Adobe Systems , tal como se introdujo en Adobe Flash Player 9 , que implementa el lenguaje de scripting ActionScript 3 . ActionScript Virtual Machine 2 fue donado como código abierto a la Fundación Mozilla el 7 de noviembre de 2006, para desarrollar Tamarin como una máquina virtual de alto rendimiento, con el apoyo de una amplia comunidad de Mozilla , para ser utilizada por Mozilla y Adobe Systems en la próxima generación. de sus motores JavaScript y ActionScript con el objetivo final de unificar los lenguajes de secuencias de comandos en todos los navegadores web y la plataforma Adobe Flash y facilitar el desarrollo de aplicaciones web enriquecidas con mejor rendimiento . [2]
El código fuente, incluido el compilador justo a tiempo y el recolector de basura conservador , fue donado a la Fundación Mozilla el 7 de noviembre de 2006. [ 3 ] El código aportado tiene tres licencias GPL , LGPL y MPL para ser desarrollado en el repositorio Mercurial de Mozilla . [4] El código contribuido es de aproximadamente 135.000 líneas de código, [5] lo que la convierte en la mayor donación de código al proyecto Mozilla además del propio Netscape . [6]
Había planes para utilizar Tamarin como parte de Mozilla 2 [7] (y por tanto Firefox 4). El proyecto para integrar Tamarin y SpiderMonkey se llamó "ActionMonkey", [8] pero fue cancelado en 2008 [9] porque el intérprete de Tamarin resultó ser más lento que el de SpiderMonkey y porque los planes de desarrollo de ECMAScript cambiaron de ECMAScript 4 , que se implementó parcialmente. para el código fuente de Tamarin existente en ese momento y estaba destinado a ser completado mediante los esfuerzos conjuntos de Adobe, Mozilla y su comunidad dentro del Proyecto Tamarin, [10] para ECMAScript Harmony . [11]
Adobe continuó usando Tamarin en su Flash Player , pero no reemplazó a SpiderMonkey como motor JavaScript de las aplicaciones de Mozilla.
La única parte de Tamarin utilizada en las aplicaciones modernas de Mozilla (es decir, Firefox 3.5+) a través de SpiderMonkey es NanoJIT , un módulo que se utiliza para generar código nativo cuando se realiza una compilación justo a tiempo . [12]
Adobe contribuyó con código para su ActionScript Virtual Machine 2 y el compilador JIT . El compilador ActionScript también es de código abierto como parte de Adobe Flex . [13] También existe CrossBridge , un compilador de C y C++ de código abierto .
Tamarin no es lo mismo que Adobe Flash Player , que sigue siendo de código cerrado. La máquina virtual Tamarin es sólo una parte de Flash Player.
El 25 de julio de 2007 se anunciaron dos proyectos relacionados con Tamarin en el discurso de apertura de Brendan Eich en The Ajax Experience West: IronMonkey y ScreamingMonkey. [14] [15] IronMonkey es un proyecto para mapear IronPython y IronRuby a Tamarin dirigido por Seo Sanghyeon. [16] El objetivo de ScreamingMonkey es permitir que Tamarin se ejecute en navegadores que no sean Mozilla (permitiéndoles así comprender JavaScript 2), comenzando con Internet Explorer . El proyecto está dirigido por Mark Hammond. [17] Ninguno de los proyectos tuvo lanzamientos con calidad de producción y su estado actual no está claro.
Tanto SpiderMonkey como Tamarin cumplen objetivos estrechamente relacionados y por eso recibieron nombres derivados de tipos de monos (el mono araña y el tamarin , respectivamente).
CTO
de Mozilla
Director ejecutivo de la Fundación Mozilla
Desarrollador Mozilla
{{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace )mozilla.dev.tech.js-engine