В последнее время браузер Firefox компании Mozilla стал отставать в сравнительных тестах на скорость исполнения JavaScript. Одной из главных причин стал устаревающий механизм TraceMonkey, впервые представленный еще в 2008 году. Как объяснили разработчики Firefox, механизм TraceMonkey до сих пор прекрасно справляется с интерпретацией кода JavaScript, если этот код хорошо поддается трассировке. Во всех остальных случаях интерпретатор кода становится узким местом – системе не хватает возможностей для быстрой генерации исполняемого машинного кода из сценариев JavaScript.

Следует заметить, что в технологии TraceMonkey основным генератором исполняемого кода был интерпретатор Nanojit, созданный совместно с компанией Adobe для быстрого исполнения сценариев ActionScript внутри Flash-приложений. Пока компания Mozilla не отказывается полностью от Nanojit, но основным генератором машинного кода в JägerMonkey станет Nitro Assembler. От TraceMonkey новый движок унаследует оптимизацию трассировки, которая обеспечит новым версиям Firefox дополнительный выигрыш в скорости.

На данный момент проект JägerMonkey находится на самых ранних стадиях разработки и не готов к широкому показу. Заинтересованные разработчики могут ознакомиться с наработками проекта в специальном репозитарии кода компании Mozilla. Ход работы над проектом JägerMonkey подробно освещается на вики-сайте Mozilla.

По материалам сайта Ars Technica.