La máscara que se compila a nada: cómo el JIT de HotSpot aprendió a razonar sobre bits

The mask that compiles to nothing: how HotSpots JIT learned to reason about bits

La máscara que se compila a nada: cómo el JIT de HotSpot aprendió a razonar sobre bits

El compilador C2 de HotSpot ahora puede eliminar operaciones redundantes como `(x << 2) & -4`, reduciéndolas a un simple desplazamiento. Esto es posible gracias a una nueva abstracción que combina rangos con máscaras de bits conocidos, lo que permite al compilador deducir que ciertos bits siempre son cero o uno. El artículo explica cómo funciona esta técnica, conocida como 'known bits', comparándola con implementaciones en LLVM y GCC, y detalla el proceso de canonicalización que refina la información entre rangos y bits. Incluye ejemplos de código y referencias a los cambios en JDK 26 y 27.

El compilador ahora sabe que el número es un múltiplo de cuatro.

Más de este día

2026-07-11