[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 00/16] TCG indirect registers
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [RFC 00/16] TCG indirect registers |
Date: |
Mon, 23 Sep 2013 11:06:28 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
On 09/23/2013 10:23 AM, Blue Swirl wrote:
> On Fri, Sep 20, 2013 at 12:24 AM, Richard Henderson <address@hidden> 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~
- [Qemu-devel] [RFC 09/16] tcg: Change temp_sync argument to TCGTemp, (continued)
- [Qemu-devel] [RFC 09/16] tcg: Change temp_sync argument to TCGTemp, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 10/16] tcg: Change temp_save argument to TCGTemp, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 11/16] tcg: Introduce temp_load, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 12/16] tcg: Tidy temporary allocation, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 13/16] tcg: Use temp_idx, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 14/16] tcg: Implement indirect memory registers, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 15/16] target-sparc: Tidy global register initialization, Richard Henderson, 2013/09/19
- [Qemu-devel] [RFC 16/16] target-sparc: Use global registers for the register window, Richard Henderson, 2013/09/19
- Re: [Qemu-devel] [RFC 00/16] TCG indirect registers, Max Filippov, 2013/09/22
- Re: [Qemu-devel] [RFC 00/16] TCG indirect registers, Blue Swirl, 2013/09/23
- Re: [Qemu-devel] [RFC 00/16] TCG indirect registers,
Richard Henderson <=