Самым большим дополнением в Firefox 18 является новый JIT-компилятор JavaScript Mozilla под названием IonMonkey. Это обещает заметное улучшение производительности всякий раз, когда Firefox отображает веб-приложения, игры и другие страницы с большим количеством JavaScript.
IonMonkey предоставляет совершенно новую архитектуру, которая позволяет вносить оптимизацию в JIT-компиляцию JavaScript. Он отличается от предыдущих компиляторов тем, что включает промежуточное представление (IR) и состоит из трех этапов:
Перевести JavaScript в промежуточное представление (IR).
Запустите различные алгоритмы для оптимизации IR.
Преобразуйте окончательный IR в машинный код.
Оптимизация включает:
Перемещение кода с инвариантным циклом (LICM) или перемещение инструкций за пределы циклов, когда это возможно.
Разреженная глобальная нумерация значений (GVN), мощная форма устранения избыточного кода.
Распределение регистров линейного сканирования (LSRA), схема распределения регистров, используемая в JVM HotSpot (и до недавнего времени в LLVM).
Устранение мертвого кода (DCE), удаление неиспользуемых инструкций.
Анализ диапазона; устранение проверки границ
Генерация кода работает как для 32-битной, так и для 64-битной архитектуры x86 и для ARM.
Новый дизайн аналогичен методам, используемым в движке JavaScript Crankshaft в Chrome, и должен сделать их похожими по производительности JavaScript.
Другие новые функции Firefox 18:
Retina Display Поддержка пользователей Mac, чтобы сделать Firefox еще более четким при просмотре фильмов, играх и просмотре веб-страниц.
Возможность отключить небезопасный контент на защищенных HTTPS-сайтах для сохранения конфиденциальности вашего взаимодействия с сайтом. Вы можете включить эту функцию в about: config.
Поддержка стандартных событий касания W3C в дополнение к событиям MozTouch.