On 09/23/2013 10:23 AM, Blue Swirl wrote: > On Fri, Sep 20, 2013 at 12:24 AM, Richard Henderson <r...@twiddle.net> wrote: >> >> This is an attempt to improve performance of target-sparc >> by exposing the windowed registers as TCG globals, and all >> the optimization that we can do there. >> >> This is done via allowing tcg_global_mem_new to be used >> with any base pointer, not just off of a fixed register. >> Thus the sparc windowed registers are globals off cpu_regwptr. > > Nice and simple. > > Would it be possible to eliminate regwptr and perform the calculation > of the effective register set during compile time? We could get rid of > register shuffling (memcpy32) and register access would be much > simpler. The downside would be that code which is called from > different register window level would need to be recompiled.
An interesting idea. Yes, it would be possible to grab some bits from TB->flags and encode the register window setting. I suppose it all depends on how much overhead there is from the recompilation as opposed to the indirection + memcpys. r~