Последние изменения, внесённые Apple в проект с открытым кодом WebKit, используемый в Safari в OS X и iOS, а также широком перечне других обозревателей, включают новый эффективный низкоуровневый интерпретатор (LLInt — Low Level Interpreter), который в настоящее время применяется в JavaScriptCore (JSC) с целью исполнения кода до того, как он попадёт к стандартному интерпретатору, в виртуальную машину байткода или компилятору JIT (Just In Time).
Теперь JSC будет начинать исполнять код в LLInt и передаст результат старому JIT только после, как код будет обработан. LLInt является новой формой макроассемблирования, компилируемого с помощью офлайн-ассемблера, который использует множество современных технологий, таких как макро-язык на базе Turing CPS и прямой доступ к релевантной информации типа C++.
Судя по данным тестовых пакетов SunSpider, V8 и Kraken, новый интерпретатор в 2—2,5 раза быстрее, чем старый. В реальных условиях тоже, как сообщается, достигается 200% прирост производительности. Скорость исполнения JavaScript в веб-обозревателях сильно зависит от оптимизаций: чем быстрее и эффективнее сможет исполняться код, тем больше плавной анимации может быть задействовано и больше появится сложных и отзывчивых кроссплатформенных приложений.
По примеру прошлогодних улучшений WebKit, потребуется некоторое время, пока в общедоступную версию Safari будут интегрированы новые изменения в JavaScriptCore. В следующую 5.2 версию Safari будут внесены улучшения в области пользовательского интерфейса и совместного использования, новые настройки безопасности и функции оповещения.