Hasty Briefsbeta

Bilingual

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

6 hours ago
  • #HotSpot JIT
  • #Compiler Optimization
  • #Bitwise Analysis
  • HotSpot's C2 compiler tracks "known bits" alongside ranges to optimize bitwise operations.
  • The optimization eliminates redundant bitwise ANDs, like removing (x << 2) & -4, by proving bits are unchanged.
  • The system uses two 32-bit masks per integer: zeros and ones to indicate definite bit states.
  • Range and known bits mutually refine each other through a process called canonicalization.
  • Rules for bit propagation are defined for operations like AND, OR, and shift, enabling precise analysis.
  • The feature was implemented in JDK 26 and improved in JDK 27, with test methods ensuring correctness.