AVM2
   HOME

TheInfoList



OR:

Tamarin is a discontinued
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
with
just-in-time compilation In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compilation (of computer code) during execution of a program (at run time) rather than before execution. This may consist of source code transl ...
(JIT) support intended to implement the 4th edition of the
ECMAScript ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is stan ...
(ES4) language standard. Tamarin
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
originates from ActionScript Virtual Machine 2 (AVM2) developed by
Adobe Systems Adobe Inc. ( ), formerly Adobe Systems Incorporated, is an American software, computer software company based in San Jose, California. It offers a wide range of programs from web design tools, photo manipulation and vector creation, through to ...
, as introduced within Adobe Flash Player 9, which implements
ActionScript 3 ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meani ...
scripting language. ActionScript Virtual Machine 2 was donated as
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
to
Mozilla Foundation The Mozilla Foundation is an American non-profit organization that exists to support and collectively lead the Open-source software, open source Mozilla project. Founded in July 2003, the organization sets the policies that govern development, ...
on November 7, 2006, to develop Tamarin as a high-performance virtual machine, with the support from broad
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
community, to be used by Mozilla and Adobe Systems in the next generation of their
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
and
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
engines An engine or motor is a machine designed to convert one or more forms of energy into mechanical energy. Available energy sources include potential energy (e.g. energy of the Earth's gravitational field as exploited in hydroelectric power gen ...
with the ultimate aim to unify the scripting languages across
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s and
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
platform and ease the development of better performing rich
web applications A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
.


Tamarin and Mozilla

The source code, including the
just-in-time compiler In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compiler, compilation (of Source code, computer code) during execution of a program (at run time (program lifecycle phase), run time) rather than b ...
and conservative garbage collector, was donated to the
Mozilla Foundation The Mozilla Foundation is an American non-profit organization that exists to support and collectively lead the Open-source software, open source Mozilla project. Founded in July 2003, the organization sets the policies that govern development, ...
on November 7, 2006. The contributed code is tri-licensed under the GPL,
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
, and MPL licenses to be developed in Mozilla's
Mercurial Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows, Linux, and other Unix-like systems, such as FreeBSD and macOS. Mercurial's major design goals include high performance and scalabi ...
repository. The contributed code is approximately 135,000 lines of code, making it the largest single donation of code to the Mozilla project besides
Netscape Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California, and then Dulles, Virginia. Its Netscape web browser was o ...
itself. There were plans to use Tamarin as part of
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
2 (and therefore
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
4). The project to integrate Tamarin and
SpiderMonkey SpiderMonkey is an open-source JavaScript and WebAssembly engine by the Mozilla Foundation. The engine powers the Firefox Web browser and has used multiple generations of JavaScript just-in-time (JIT) compilers, including TraceMonkey, Jäg ...
was called "ActionMonkey", but was canceled in 2008 because Tamarin's interpreter turned out to be slower than SpiderMonkey's and because the plans of ECMAScript development shifted from ECMAScript 4, which was partially implemented by then existing Tamarin source code and was meant to be completed by joined efforts of Adobe, Mozilla and its community within the Tamarin Project, to ECMAScript Harmony. Adobe continued to use Tamarin in its
Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia c ...
, but it did not replace SpiderMonkey as the
JavaScript engine The first engines for JavaScript were mere interpreters of the source code, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typically developed by web browser vendors, and every maj ...
of Mozilla applications. The only part of Tamarin used in modern Mozilla applications (i.e. Firefox 3.5+) via SpiderMonkey is NanoJIT, a module that is used to generate native code when performing
just-in-time compilation In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compilation (of computer code) during execution of a program (at run time) rather than before execution. This may consist of source code transl ...
.


What Tamarin is not

Adobe contributed code for its ActionScript Virtual Machine 2 and the JIT compiler. The ActionScript compiler is also open source as a part of
Adobe Flex Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich web applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Syste ...
. There is also CrossBridge, an open source C and C++ compiler. Tamarin is not the same as
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia ...
, which remains closed source. The Tamarin virtual machine is only a part of Flash Player.


Related projects

Two projects related to Tamarin were announced on July 25, 2007, in
Brendan Eich Brendan Eich ( ; born July 4, 1961) is an American computer programmer and technology executive. He created the JavaScript programming language and co-founded the Mozilla project, the Mozilla Foundation, and the Mozilla Corporation. He serve ...
's keynote at The Ajax Experience West: IronMonkey and ScreamingMonkey. IronMonkey is a project to map
IronPython IronPython is an implementation of the Python programming language targeting the .NET and Mono frameworks. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with P ...
and
IronRuby IronRuby is an implementation of the Ruby programming language targeting Microsoft .NET Framework. It is implemented on top of the Dynamic Language Runtime (DLR), a library running on top of the Common Language Infrastructure that provides dynam ...
to Tamarin led by Seo Sanghyeon. ScreamingMonkey's goal is to allow Tamarin to run within non-Mozilla browsers (thus allowing them to understand JavaScript 2), starting with
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated as IE or MSIE) is a deprecation, retired series of graphical user interface, graphical web browsers developed by Microsoft that were u ...
. The project is led by Mark Hammond. Neither project had production-quality releases and their current status is unclear.


Etymology

Both SpiderMonkey and Tamarin fulfill closely related goals and so were given names derived from types of monkeys (the
spider monkey Spider monkeys are New World monkeys belonging to the genus ''Ateles'', part of the subfamily Atelinae, family Atelidae. Like other atelines, they are found in tropical forests of Central and South America, from southern Mexico to Brazil. The g ...
and the
tamarin The tamarins are squirrel-sized New World monkeys from the family Callitrichidae in the genus ''Saguinus''. They are the first offshoot in the Callitrichidae tree, and therefore are the sister group of a clade formed by the lion tamarins, Go ...
, respectively).


Further reading


Tamarin page on MDN (Tamarin is obsolete)
* * * * * *


References


External links

*
Tamarin Project
at www-archive.mozilla.org
Tamarin
at wiki.mozilla.org {{DEFAULTSORT:Tamarin (Javascript Engine) Adobe Flash Free software programmed in C++ Mozilla Virtual machines Discontinued software