Fix frame slot offset after register allocation
Zebu is doing the following things regarding frame size in this order:
- emit code to save callee saved registers and reserve frame slots for them
- do register allocation, spill registers and reserve frame slots for them
- rewrite code, and redo register allocation until finished
- figure out which callee saved registers are not used, and remove the saving/restoring code for them
- patch the frame size
We do not know the actual frame size until 3 is done. However, in 2, we need to make assumptions and emit code about frame slots. Currently though we patch the frame size in the end, we do not deduct the space initially reserved for unused callee saved register. We should offset all the frame slots, and patch spilled location in the code.