Hi,
I added a new code generator (TCG) in QEMU. Read the file
qemu/tcg/README to have technical information. A new code generator was
needed in order to avoid problems with the various GCC versions and to
get better performance.
I made minimal modifications in each target so that they can still work
by using TCG and legacy "dyngen" micro operations. More work will be
needed to convert each target to TCG, but it can be done progressively.
Only the x86 and x86_64 targets have been significantly modified to use TCG.
TCG currently only supports x86 and x86_64 hosts. The support of other
hosts is broken in QEMU. I don't consider it is a priority to support
other hosts although TCG is generic enough to allow it.
The performance should not change much at this point. On x86_64 hosts,
the x86 and x86_64 targets are faster because of some assembly language
optimizations. On x86 hosts, the x86_64 target is faster because TCG can
do some optimizations related to the conversion from 64 to 32 bits. No
performance change should be noticed on non x86 targets because they are
not converted yet.
Fabrice.
- [Qemu-devel] TCG Fabrice Bellard
-