On Jan 18, 2008, at 4:41 PM, Fabrice Bellard wrote:
Alexander Graf wrote:
This patch is mostly a cleanup of Michael Matz's patch with the ideas
that came last time included.
I must say I don't like such patches because they are likely to
break with every new GCC version.
Basically these patches only fixed what was broken, so I don't see any
way they make anything worse than what we have now. Especially because
the only intrusive patches are the i386 ones, which are conditional
for gcc4, so there really is nothing it breaks here. It merely removes
the assumption that if registers can be used for temporary variables,
there are 3 spare ones and fixes a bug which was officially marked as
XXX.
Moreover, I will commit in the next few days a new code generator in
QEMU which will utimately solve the compilation problems. In its
current form it still relies on "dyngen" so that legacy micro
operations still work, but in the end dyngen will be completely
suppressed.
I don't really like the idea of throwing away all the micro-ops we
have so far. Quite a lot of effort was put into writing this code and
I don't know if the people who committed all those targets actually
want to do the same work once again because there is a new approach
again. Maybe if it's way superior and faster, but if everything it
does is fixing the gcc dependency I'm not that enthusiastic.
A side effect of these commits will be that only the x86 and x86_64
hosts will be supported during some time.
Great. Please make it optional then ;-).
Regards,
Alex