On 11/11/2014 17:24, Richard Henderson 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 functionconsists > 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. > > Of course this isn't intended for the upcoming 2.2 release. > > Comments?
Happy new year! :) Are you going to submit this now? Paolo
