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