SPARC: optimize window overflow trap entry

By using a optimized trap entry we can move instructions from
the window overflow function into the trap entry vector. By
using the saved locals instead of g1 we don't need to save
that register temporarily. Also spead out non store instructions
inbetween stores to use the write buffer better.
This commit is contained in:
Daniel Hellstrom
2014-05-28 10:29:37 +02:00
parent 348d1812ba
commit 6930aa7f19

View File

@@ -60,6 +60,7 @@ SYM(window_overflow_trap_handler):
srl %l3, 1, %l3 ! l3 = WIM >> 1
wr %l3, %l2, %wim ! WIM = (WIM >> 1) ^
! (WIM << (Number Windows - 1))
! 3 instruction delay not needed here
std %i0, [%sp + 0x20] ! save input register set
std %i2, [%sp + 0x28]
std %i4, [%sp + 0x30]