qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 13/13] tcg: rework TCG ops flags


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH 13/13] tcg: rework TCG ops flags
Date: Thu, 27 Sep 2012 22:37:11 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Sep 27, 2012 at 12:56:11PM -0700, Richard Henderson wrote:
> 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.

That's exactly why SIDE_EFFECTS has been removed from this op in the
previous patch.

I think it implies exception, because I don't see why an op shouldn't be
removed otherwise (remember ops without outputs are never removed).

> > 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.
> 

Ok, then the documentation should be fixed.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]