SpiderMonkey
SpiderMonkey — вбудований JavaScript-рушій з відкритим сирцевим кодом від компанії Mozilla. Він написаний на C/C++ і використовується в декількох продуктах від Mozilla, включаючи такі відомі, як Firefox.
Поширюється під потрійною ліцензією — MPL/GPL/LGPL.
SpiderMonkey був написаний Бренданом Айком під час його роботи в Netscape Communications. Пізніше зроблений відкритим. Натепер SpiderMonkey підтримується Mozilla Foundation .
SpiderMonkey був написаний на мові Сі і включає в себе компілятор, інтерпретатор, декомпілятор, прибиральник сміття і стандартні класи. Він не надає робочого оточення, такого як DOM.
SpiderMonkey вбудовується в інші застосунки, які надають робоче оточення для JavaScript. Найпопулярнішими програмами є Mozilla Firefox і Mozilla Application Suite / SeaMonkey, також Adobe Acrobat і Adobe Reader, як рушій JavaScript для Yahoo! Widgets (раніше відомого під ім'ям «Konfabulator») і UOX3, емулятора Ultima Online.
SpiderMonkey, як і споріднений йому рушій Rhino, має підтримку стандарту ECMAScript для XML (E4X).
У 2006 для Mozilla 2 планувалося використовувати Tamarin — відкриту віртуальну машину ActionScript, розроблену в Macromedia (пізніше придбану Adobe)[1]. Проєкт з інтеграції SpiderMonkey і Tamarin отримав кодову назву ActionMonkey. Пізніше цей проєкт був скасований в силу низки причин.[2]
У 2009 до SpiderMonkey додана можливість компіляції JavaScript в машинний код, що суттєво прискорило виконання JavaScript коду. Проєкт отримав назву TraceMonkey.
Браузер Firefox, починаючи з версії 3.5, для виконання JavaScript коду використовує за замовчуванням TraceMonkey.[3]
Для того, щоб досягти швидкодії, порівнянної з рушіями конкурентів, в 2010 до SpiderMonkey було вирішено додати JIT-компіляцію, засновану на компіляції цілого методу[4]. Проєкт отримав назву JaegerMonkey (JägerMonkey).
Браузер Firefox використовує JaegerMonkey починаючи з версії 4.0.
- ↑ Официальное объявление о начале интеграции SpiderMonkey с Tamarin. Архів оригіналу за 27 квітня 2007. Процитовано 27 січня 2012.
- ↑ ActionMonkey на wiki.mozilla.org. Архів оригіналу за 28 січня 2012. Процитовано 27 січня 2012.
- ↑ TraceMonkey на wiki.mozilla.org. Архів оригіналу за 3 січня 2012. Процитовано 27 січня 2012.
- ↑ JaegerMonkey на wiki.mozilla.org. Архів оригіналу за 23 серпня 2013. Процитовано 27 січня 2012.
- SpiderMonkey (JavaScript-C) Engine
- Documentation for SpiderMonkey [Архівовано 14 травня 2008 у Wayback Machine.]
- Spidermonkey's page for Open Source Links [Архівовано 24 лютого 2012 у Wayback Machine.]
- Are We Fast Yet? (Official benchmark and comparison) [Архівовано 23 лютого 2011 у Wayback Machine.]