Sometime in 1.5 the deopt blob was rewritten to use I5 to hold a copy of the current deoptimization mode instead of O5. Before save_live_registers I5 is actually O5 which might contain a live value on 64 bit since we rely on register windows to save those values. In 32-bit mode the O registers are explicitly saved since they might contain 64 bit values. The fix is simply to use an L register as a cache like we do for G2_thread.
That seems right. The RTS bug id was 6798020.