[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 0/8] Linked list for tcg ops
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 0/8] Linked list for tcg ops |
Date: |
Fri, 13 Feb 2015 12:49:31 +0000 |
On 13 February 2015 at 05:43, Richard Henderson <address@hidden> 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
- [Qemu-devel] [PULL 0/8] Linked list for tcg ops, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 2/8] tcg: Reduce ifdefs in tcg-op.c, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 3/8] tcg: Move emit of INDEX_op_end into gen_tb_end, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 4/8] tcg: Introduce tcg_op_buf_count and tcg_op_buf_full, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 6/8] tcg: Remove opcodes instead of noping them out, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 7/8] tcg: Implement insert_op_before, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 5/8] tcg: Put opcodes in a linked list, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 8/8] tcg: Remove unused opcodes, Richard Henderson, 2015/02/13
- [Qemu-devel] [PULL 1/8] tcg: Move some opcode generation functions out of line, Richard Henderson, 2015/02/13
- Re: [Qemu-devel] [PULL 0/8] Linked list for tcg ops,
Peter Maydell <=