On 05.09.2008 03:49, Carl-Daniel Hailfinger wrote:
The current K8 stack preservation code in disable_car() works by chance, but that's not something we should rely on.
The new code is entirely rewritten, fixes a few missing constraints in the asm and should be a lot more readable. However, the generated code should be mostly identical.
I hate to say it, but the generated code is NOT identical. The old code was broken because of the missing ecx clobber constraint and it did not copy the stack back (ecx was zero at the beginning of the copy-back loop and so the loop executed exactly zero times). So this is a genuine bug fix. v2 may be affected as well.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Regards, Carl-Daniel