> const int slot = (reg_alloc + 7) >> 3; reg_alloc = slot << 3; > This is where I start not to understand. Why reg_alloc + 7? Why shift left > and right by 3?
That's just a rounding up (if necessary) to a multiple of 8 (2<<3).
> const int slot = (reg_alloc + 7) >> 3; reg_alloc = slot << 3; > This is where I start not to understand. Why reg_alloc + 7? Why shift left > and right by 3?
That's just a rounding up (if necessary) to a multiple of 8 (2<<3).