[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/emul: Calculate not_64bit during instruction decode
>>> On 16.01.17 at 11:49, <andrew.cooper3@xxxxxxxxxx> wrote: > ... rather than repeating "generate_exception_if(mode_64bit(), EXC_UD);" in > the emulation switch statement. > > Bloat-o-meter shows: > > add/remove: 0/0 grow/shrink: 1/2 up/down: 8/-495 (-487) > function old new delta > per_cpu__state 98 106 +8 > x86_decode 6782 6726 -56 > x86_emulate 57160 56721 -439 > > The reason for x86_decode() getting smaller is that this change alters the > x86_decode_onebyte() switch statement from a chain of if()/else's to a jump > table. The jump table adds 250 bytes of data which bloat-o-meter clearly > can't see. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > I am also considering doing similar for vcpu cpuid checks, to split apart the > logic deciding on the feature to check from the emulation logic. This will > simplify some of the larger blocks, especially the mov emulation. Not sure about this one, specifically also in the context of the SSEn/AVX support work I'm doing right now (where individual insn variants have different CPUID dependencies). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |