Меню
Главная
Случайная статья
Настройки
|
SpiderMonkey — движок JavaScript с открытым исходным кодом, разрабатываемый Mozilla Foundation. Используется в браузере Mozilla Firefox.
Первый в истории движок JavaScript[2].
Содержание
История
SpiderMonkey был написан Бренданом Эйхом во время его работы в Netscape Communications, а позднее сделан открытым. В настоящее время SpiderMonkey поддерживается Mozilla Foundation.
Версии
История версий SpiderMonkey
Версия
|
Дата выпуска
|
Соответствующая версия ECMAScript
|
Версия браузера
|
Добавленная функциональность
|
Старая версия, не поддерживается: 1.0
|
март 1996 |
|
Netscape Navigator 2.0 |
|
Старая версия, не поддерживается: 1.1
|
август 1996 |
|
Netscape Navigator 3.0 |
|
Старая версия, не поддерживается: 1.2
|
июнь 1997 |
|
Netscape Navigator 4.0 — 4.05 |
|
Старая версия, не поддерживается: 1.3
|
октябрь 1998 |
ECMA-262 1st + 2nd edition |
Netscape Navigator 4.06-4.7x |
|
Старая версия, не поддерживается: 1.4
|
|
|
Netscape Server |
|
Старая версия, не поддерживается: 1.5
|
ноябрь 2000 |
ECMA-262 3rd edition |
Netscape Navigator 6, Firefox 1.0 |
|
Старая версия, не поддерживается: 1.6
|
ноябрь 2005[3] |
|
Firefox 1.5 |
дополнительные методы массива, дженерики массивов и строк, ECMAScript для XML (E4X)
|
Старая версия, не поддерживается: 1.7
|
октябрь 2006 |
|
Firefox 2.0 |
итераторы и генераторы, оператор let, array comprehensions, деструктурирующее присваивание
|
Старая версия, не поддерживается: 1.8
|
июнь 2008 |
|
Firefox 3.0 |
выражения-генераторы, замыкания выражений
|
Старая версия, не поддерживается: 1.8.5
|
март 2011 |
ECMA-262 5th edition |
Firefox 4.0 |
поддержка JSON
|
Старая версия, не поддерживается: 1.8.8
|
январь 2012 |
|
Firefox 10.0 |
|
Старая версия, не поддерживается: 17
|
ноябрь 2012 |
|
Firefox 17.0 |
|
Старая версия, не поддерживается: 24
|
сентябрь 2013 |
|
Firefox 24.0 |
|
Старая версия, не поддерживается: 31
|
июль 2014 |
|
Firefox 31.0 |
|
Старая версия, не поддерживается: 38
|
май 2015 |
|
Firefox 38.0 |
|
Старая версия, не поддерживается: 45
|
март 2016 |
|
Firefox 45.0 |
|
Старая версия, не поддерживается: 52
|
март 2017 |
|
Firefox 52.0 |
|
Старая версия, не поддерживается: 60
|
май 2018 |
|
Firefox 60.0 |
|
Старая версия, не поддерживается: 68
|
июль 2019 |
|
Firefox 68.0 |
|
Старая версия, не поддерживается: 78
|
июнь 2020 |
|
Firefox 78.0 |
|
Старая версия, не поддерживается: 91
|
август 2021 |
|
Firefox 91.0 |
|
Старая версия, не поддерживается: 102
|
июнь 2022 |
|
Firefox 102.0 |
|
Старая версия, не поддерживается: 103
|
июль 2022 |
|
Firefox 103.0 |
|
Текущая версия: 128
|
июль 2024 |
|
Firefox 128.0 |
|
Описание
SpiderMonkey написан на языке Си и включает в себя компилятор, интерпретатор, декомпилятор, сборщик мусора и стандартные классы. Он не предоставляет рабочего окружения, такого как DOM.
SpiderMonkey встраивается в другие приложения, которые предоставляют рабочее окружение для JavaScript. Наиболее популярными программами являются Mozilla Firefox и Mozilla Application Suite/SeaMonkey, а также Adobe Acrobat. SpiderMonkey также используется в качестве движка JavaScript для Yahoo! Widgets (ранее известного под именем «Konfabulator») и UOX3, эмулятора Ultima Online.
SpiderMonkey, как и родственный ему движок Rhino, имеет поддержку стандарта ECMAScript для XML (E4X).
ActionMonkey
В 2006 году для Mozilla 2 планировалось использовать Tamarin[4] — открытую виртуальную машину ActionScript, разработанную в Macromedia (позже Adobe)[5]. Проект по интеграции SpiderMonkey и Tamarin получил кодовое название ActionMonkey. Позднее этот проект был отменен в силу ряда причин[6].
TraceMonkey
В 2009 году к SpiderMonkey добавлена возможность компиляции JavaScript в машинный код, что существенно ускорило выполнение JavaScript-кода. Проект получил название TraceMonkey.
Браузер Firefox, начиная с версии 3.5, для исполнения JavaScript-кода использует по умолчанию TraceMonkey[7].
JgerMonkey
Для того, чтобы достичь производительности, сравнимой с другими движками, в 2010 году к SpiderMonkey было решено добавить JIT-компиляцию, основанную на компиляции целого метода (англ. method-based JIT)[8]. Проект получил название JaegerMonkey (JgerMonkey).
Браузер Firefox использует JgerMonkey начиная с версии 4.0.
IonMonkey
Новая версия разрабатывается в Mozilla Foundation[9].
Браузер Firefox использует IonMonkey начиная с версии 18.0.
OdinMonkey
Несмотря на то, что IonMonkey ещё не до конца реализован, частично внедрён в Nightly 23, Mozilla Foundation приступили к созданию следующей версии — OdinMonkey[10].
Примечания
- https://hg.mozilla.org/releases/mozilla-esr52/rev/FIREFOX_52_7_2esr_RELEASE
- Андрей Никифиров. Как работает JavaScript: часть первая (рус.). GeekBrains (23 октября 2017). Дата обращения: 14 октября 2024. Архивировано 1 июня 2023 года.
- New in JavaScript 1.6 (неопр.). Дата обращения: 28 июля 2015. Архивировано из оригинала 5 сентября 2015 года.
- 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 года.
Ссылки
|
|