HotSpot JITが「ビットの知識」でマスクを消す仕組み
The mask that compiles to nothing: how HotSpots JIT learned to reason about bits

HotSpotのC2 JITコンパイラが、`(x << 2) & -4` を単なるシフトに最適化する方法を解説。従来の値の範囲情報だけでは表現できなかった「下位2ビットが常に0」といった知識を、Known Bits(既知ビット)として追跡する新機能を紹介。JDK 26で基礎が、JDK 27で実際の最適化が導入され、LLVMやGCCの同様の実装とも比較。
「範囲は『値が小さい』とは言えますが、『値が偶数だ』とは言えません。ましてや『4の倍数だ』とは言えないのです。その知識はビットの中にあり、範囲だけでは表現できないのです。」