Just thought about this again the other day.
Do you know if it might cause troubles that we keep valuable information under the stack pointer?
On amd64 the so called "red-zone" is 128-bytes, but I haven't checked that for MIPS back when I wrote this.