SpiderMonkey
SpiderMonkey — вбудований JavaScript-рушій з відкритим сирцевим кодом від компанії Mozilla. Він написаний на C/C++ і використовується в декількох продуктах від Mozilla, включаючи такі відомі, як Firefox.
Історія
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).
ActionMonkey
У 2006 для Mozilla 2 планувалося використовувати Tamarin — відкриту віртуальну машину ActionScript, розроблену в Macromedia (пізніше придбану Adobe)[1]. Проєкт з інтеграції SpiderMonkey і Tamarin отримав кодову назву ActionMonkey. Пізніше цей проєкт був скасований в силу низки причин.[2]
TraceMonkey
У 2009 до SpiderMonkey додана можливість компіляції JavaScript в машинний код, що суттєво прискорило виконання JavaScript коду. Проєкт отримав назву TraceMonkey.
Браузер Firefox, починаючи з версії 3.5, для виконання JavaScript коду використовує за замовчуванням TraceMonkey.[3]
JaegerMonkey
Для того, щоб досягти швидкодії, порівнянної з рушіями конкурентів, в 2010 до SpiderMonkey було вирішено додати JIT-компіляцію, засновану на компіляції цілого методу[4]. Проєкт отримав назву JaegerMonkey (JägerMonkey).
Браузер Firefox використовує JaegerMonkey починаючи з версії 4.0.
Примітки
- Официальное объявление о начале интеграции SpiderMonkey с Tamarin. Архів оригіналу за 27 квітня 2007. Процитовано 27 січня 2012.
- ActionMonkey на wiki.mozilla.org
- TraceMonkey на wiki.mozilla.org
- JaegerMonkey на wiki.mozilla.org