On Jul 31, 2008, at 5:08 PM, Gary M. Dennis wrote:
z/VOS translates guest OS code during initial execution. Code fragment
storage, lookup, disposal and reuse for primary and sibling guests are
addressed in a patent application. Suffice it to say that we don't
interpret or emulate massive amounts of x86 code for use 2-n.
Ah, the old ARDI Executor approach.
Well, probably not *exactly* if there's enough novel in there to
patent, but, yeah, JIT instruction-stream-translation with caching of
commonly-reused fragments was the way ARDI was emulating 68K Macs on
Pentiums back in, oh, 1996 or so. That would (of course) be a better
way to cut your overhead, because if you have a long sequence of s390x
instructions mapped (nearly 1-to-1) to a long sequence of x86(_64?)
instructions, then you only take the "wrapping the registers and
shifting the arguments around" hit once per chunk, and a lot of x86
executable code is a) boilerplate and b) common in most executables
produced by the same compiler, so this could actually be a very big win.
Does z/VOS do x86_64 or just 32-bit x86? Actually, can you list which
x86 extensions are included in it? Or do I need to wait for release
to find out.
Adam