[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 13/13] tcg: rework TCG ops flags
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 13/13] tcg: rework TCG ops flags |
Date: |
Thu, 27 Sep 2012 12:56:11 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 |
On 09/27/2012 10:15 AM, Aurelien Jarno wrote:
> - TCG_OPF_CALL_CLOBBER: The op clobber the call registers. They are
> freed before emitting the op.
> - TCG_OPF_SIDE_EFFECTS: The op is not removed if the returned value
> if not used. It can trigger exception and thus globals are
> synchronized before emitting the op.
> - TCG_OPF_READ_GLOBALS: The op can read globals but not write them,
> and thus globals are synchronized before emitting the op.
> - TCG_OPF_WRITE_GLOBALS: The op can read and write globals, and thus
> globals are saved back to their canonical location before emitting
> the op.
This is more or less exactly the flag breakup I was talking about for calls.
I don't agree with SIDE_EFFECTS implying exceptions. How can "br" cause an
exception? Or for that matter "st_i32", recalling that we're not storing
to guest memory.
> Note: While this is restoring the possibility to map a memory address
> using both a global and accessing it through ld/st, this reduces the
> performances of targets generating a lot of ld/st op. Given it is
> currently technically not allowed, we might instead change the TCG
> documentation to make that clear.
Yes, I think we should. I can't see that this is something that we
should *ever* do.
r~
[Qemu-devel] [PATCH 11/13] tcg: sync globals for pure helpers instead of saving them, Aurelien Jarno, 2012/09/27
[Qemu-devel] [PATCH 09/13] tcg: start with local temps in TEMP_VAL_MEM state, Aurelien Jarno, 2012/09/27