SpiderMonkey
SpiderMonkey | |
---|---|
![]() | |
Тип | Движок JavaScript |
Автор | Брендан Айк |
Разработчики | Mozilla Foundation/Mozilla Corporation |
Написана на | Си/C++ |
Операционная система | Unix-подобная операционная система и Microsoft Windows |
Аппаратная платформа | Кроссплатформенное программное обеспечение |
Последняя версия | 101 (6 мая 2022 года) |
Тестовая версия | |
Лицензия | MPL/GPL/LGPL |
Сайт | spidermonkey.dev |
![]() |
SpiderMonkey — первый в истории движок JavaScript.
История[править | править код]
SpiderMonkey был написан Бренданом Айком во время его работы в Netscape Communications, а позднее сделан открытым. В настоящее время SpiderMonkey поддерживается Mozilla Foundation.
Описание[править | править код]
SpiderMonkey написан на языке Си и включает в себя компилятор, интерпретатор, декомпилятор, сборщик мусора и стандартные классы. Он не предоставляет рабочего окружения, такого как DOM.
SpiderMonkey встраивается в другие приложения, которые предоставляют рабочее окружение для JavaScript. Наиболее популярными программами являются Mozilla Firefox и Mozilla Application Suite/SeaMonkey, а также Adobe Acrobat и Adobe Reader. SpiderMonkey также используется в качестве движка JavaScript для Yahoo! Widgets (ранее известного под именем «Konfabulator») и UOX3, эмулятора Ultima Online.
SpiderMonkey, как и родственный ему движок Rhino, имеет поддержку стандарта ECMAScript для XML (E4X).
ActionMonkey[править | править код]
В 2006 году для Mozilla 2 планировалось использовать Tamarin[2] — открытую виртуальную машину ActionScript, разработанную в Macromedia (позже Adobe).[3]. Проект по интеграции SpiderMonkey и Tamarin получил кодовое название ActionMonkey. Позднее этот проект был отменен в силу ряда причин.[4]
TraceMonkey[править | править код]
В 2009 году к SpiderMonkey добавлена возможность компиляции JavaScript в машинный код, что существенно ускорило выполнение JavaScript-кода. Проект получил название TraceMonkey.
Браузер Firefox, начиная с версии 3.5, для исполнения JavaScript-кода использует по умолчанию TraceMonkey.[5]
JägerMonkey[править | править код]
Для того, чтобы достичь производительности, сравнимой с другими движками, в 2010 году к SpiderMonkey было решено добавить JIT-компиляцию, основанную на компиляции целого метода (англ. method-based JIT)[6]. Проект получил название JaegerMonkey (JägerMonkey).
Браузер Firefox использует JägerMonkey начиная с версии 4.0.
IonMonkey[править | править код]
Новая версия разрабатывается в Mozilla Foundation.[7]
Браузер Firefox использует IonMonkey начиная с версии 18.0.
OdinMonkey[править | править код]
Несмотря на то, что IonMonkey ещё не до конца реализован, частично внедрён в Nightly 23, Mozilla Foundation приступили к созданию следующей версии — OdinMonkey[8].
Примечания[править | править код]
- ↑ https://hg.mozilla.org/releases/mozilla-esr52/rev/FIREFOX_52_7_2esr_RELEASE
- ↑ Tamarin Project Архивировано 10 февраля 2007 года.
- ↑ Официальное объявление о начале интеграции SpiderMonkey с Tamarin Архивировано 27 апреля 2007 года.
- ↑ ActionMonkey на wiki.mozilla.org . Дата обращения: 5 декабря 2009. Архивировано 28 января 2012 года.
- ↑ TraceMonkey на wiki.mozilla.org . Дата обращения: 5 декабря 2009. Архивировано 3 января 2012 года.
- ↑ JaegerMonkey на wiki.mozilla.org . Дата обращения: 15 марта 2011. Архивировано 23 августа 2013 года.
- ↑ IonMonkey на wiki.mozilla.org . Дата обращения: 8 апреля 2012. Архивировано 11 мая 2012 года.
- ↑ OdinMonkey на wiki.mozilla.org . Дата обращения: 27 апреля 2013. Архивировано 22 июля 2013 года.
Ссылки[править | править код]
- Официальная страница проекта (англ.)
- Документация по SpiderMonkey для разработчиков Архивная копия от 8 апреля 2007 на Wayback Machine (англ.)