Adobe today announced that it has contributed the Flash VM source code to the Mozilla Foundation. To host Adobe's contributed code, the Mozilla Foundation set up a new open-source project, Tamarin. Source code for the Flash VM was made available via the Tamarin source code repository Monday night.
Adobe's Flash VM is among the most widely used pieces of Internet client technology, with about 98% of Web browsers having a recent Flash plug-in, according to the company.
Artima spoke with Dan Smith, Adobe's Director of Engineering, who also serves as Tamarin project lead:
ActionScript 3 is a superset of the EcmaScript 3 specifications. We've taken some features we knew would be coming in EcmaScript 4, and put them into ActionScript 3, like classes and name spaces, optional type settings and variables. But it's our own branding of the language.
Adobe for several years has been using ActionScript in the Flash player. So we have a common runtime that will be shared between the Flash Player and SpiderMonkey, Firefox, and other products that want to use that. Through SpiderMonkey, that work will probably come back to Adobe in the future, into Acrobat Reader and other products.
It's about coming up with the absolute best implementation we can have. We expect other people to contribute to the [source code] base, and grow it to make it into the best engine... We've been working with Mozilla, along with Yahoo, Microsoft, and others, on the EcmaScript working group on the standard. It's a good idea for us now to work together with Mozilla on the implementation.
Smith also highlighted key benefits of a top-notch VM shared between Adobe's Flash product-line and Mozilla's browsers:
We now have an implementation of ActionScript 3, and we saw about a ten-times increase in performance [from ActionScript 2]. That made a tremendous difference for us. You get a much faster execution time. You will also have a very secure system. We have bytecode verifiers in place within the code...
We also hope to be able to shrink the size of SpiderMonkey and Firefox as well. One of the things we pride ourselves in ... is the ability to squeeze a lot of functionality into a small space. We are obsessed with download size. We also are able to share those with the SpiderMonkey folks. And we also expect that the memory consumption will drop for SpiderMonkey.