- 30 Апр 2025
- 2 299
В Firefox 151 был осуществлен переход с zlib на zlib-rs (Rust) для сжатия и распаковки c использованием метода gzip. Это временами ускорило производительность операций декодирования на порядок – однако изначально вызвало сбои на чипах Intel Raptor Lake (Core 13 и 14).
Как оказалось, причина в аппаратном дефекте этих процессоров: когда кодогенератор LLVM использовал инструкцию «mov byte ptr [rsi + rdi + 1], ch», вместо битов 8-15 регистра RCX (соответствующих CH) в память ошибочно записывались биты 0-7 (соответствующие регистру CL). Ошибка была устранена программным методом в Firefox 152, информацию о ней передали в Intel. Получится ли её исправить обновлением микрокода и как это повлияет на производительность – данных пока нет.