kernel32: Add support for InterlockedCompareExchange64, try 2
Maarten Lankhorst
m.b.lankhorst at gmail.com
Fri Feb 5 06:17:20 CST 2010
Hello Alexandre,
Alexandre Julliard wrote:
> Maarten Lankhorst <m.b.lankhorst at gmail.com> writes:
>
>
>> ---
>> Fix the definitions in winbase.h, and the inline assembly :)
>>
>
> There are still several problems with your assembly, and I don't
> understand why you want to reinvent the wheel when we have a perfectly
> fine interlocked_cmpxchg64 implementation already
I copied the 32-bits Interlocked64 definition from my patch, changed
LONG64 to long long, and WINAPI to __attribute__((__stdcall__)) and then
tried a few calls against the inline and it works fine and compare the
returned and expected result, which seem to work for the case where it
should replace, and where it shouldn't replace. Tests also run against
the kernel32 assembly version. versionInterlockedCompareExchange64 when
available.
The 64-bits InterlockedCompareExchange64 assembly call is copied from
InterlockedCompareExchangePointer
What are the remaining problems then?
Cheers,
Maarten.
More information about the wine-devel
mailing list