On 13 February 2015 at 05:43, Richard Henderson <r...@twiddle.net> wrote:
> Currently tcg ops are simply placed in a buffer in order.  Which is
> fine until we want to actually do something with the opcode stream,
> such as optimize them.  Note the horrible things like call opcodes
> needing their argument count both prefixed and postfixed so that we
> can iterate across the call either forward or backward.
>
> While I'm changing this, I also move quite a lot of tcg-op.h out of
> line.  There is very little benefit to having most of them be inline,
> since their arguments are extracted from the guest instructions being
> translated, and thus their values are not really predictable.
>
> I chose a cutoff of one function call.  If a tcg-op.h function consists
> of a single function call, inline it, otherwise move it out of line.
>
> This also removes a bit of boilerplate from each target.
>
> I haven't been able to measure a performance difference with this
> patch set.  I wouldn't really expect any, as the complexity level
> remains the same.  I simply find the link list significantly more
> maintainable.
>
> Thanks to Bastian for the reviews.
>
>
> r~
>
>
> The following changes since commit 449008f86418583a1f0fb946cf91ee7b4797317d:
>
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20150210.0' 
> into staging (2015-02-11 05:14:41 +0000)
>
> are available in the git repository at:
>
>   git://github.com/rth7680/qemu.git tags/pull-tcg-20150212
>
> for you to fetch changes up to 15fc7daa770764cc795158cbb525569f156f3659:
>
>   tcg: Remove unused opcodes (2015-02-12 21:21:38 -0800)

Applied, thanks.

-- PMM

Reply via email to