Commit 24721ecc authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Use the fastcall flag for RtlInterlockedPushListSList.

parent 9c9efd70
......@@ -8,5 +8,5 @@
@ stdcall -arch=i386 InterlockedIncrement(ptr) kernel32.InterlockedIncrement
@ stdcall InterlockedPopEntrySList(ptr) kernel32.InterlockedPopEntrySList
@ stdcall InterlockedPushEntrySList(ptr ptr) kernel32.InterlockedPushEntrySList
@ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList
@ stdcall -fastcall InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList
@ stdcall QueryDepthSList(ptr) kernel32.QueryDepthSList
......@@ -961,7 +961,7 @@
@ stdcall -arch=i386 InterlockedIncrement(ptr)
@ stdcall InterlockedPopEntrySList(ptr) ntdll.RtlInterlockedPopEntrySList
@ stdcall InterlockedPushEntrySList(ptr ptr) ntdll.RtlInterlockedPushEntrySList
@ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) ntdll.RtlInterlockedPushListSList
@ stdcall -fastcall InterlockedPushListSList(ptr ptr ptr long) ntdll.RtlInterlockedPushListSList
@ stdcall InterlockedPushListSListEx(ptr ptr ptr long) ntdll.RtlInterlockedPushListSListEx
@ stub InvalidateConsoleDIBits
@ stdcall InvalidateNLSCache()
......
......@@ -821,7 +821,7 @@
@ stdcall -arch=i386 InterlockedIncrement(ptr) kernel32.InterlockedIncrement
@ stdcall InterlockedPopEntrySList(ptr) kernel32.InterlockedPopEntrySList
@ stdcall InterlockedPushEntrySList(ptr ptr) kernel32.InterlockedPushEntrySList
@ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList
@ stdcall -fastcall InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList
@ stdcall InterlockedPushListSListEx(ptr ptr ptr long) kernel32.InterlockedPushListSListEx
@ stub InternalLcidToName
@ stub Internal_EnumCalendarInfo
......
......@@ -730,7 +730,7 @@
@ stdcall RtlInterlockedFlushSList(ptr)
@ stdcall RtlInterlockedPopEntrySList(ptr)
@ stdcall RtlInterlockedPushEntrySList(ptr ptr)
@ stdcall -norelay RtlInterlockedPushListSList(ptr ptr ptr long)
@ stdcall -fastcall RtlInterlockedPushListSList(ptr ptr ptr long)
@ stdcall RtlInterlockedPushListSListEx(ptr ptr ptr long)
# @ stub RtlInvertRangeList
@ stdcall RtlIpv4AddressToStringA(ptr ptr)
......
......@@ -51,13 +51,15 @@
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
#ifdef __i386__
#define DEFINE_FASTCALL4_ENTRYPOINT( name ) \
__ASM_STDCALL_FUNC( name, 16, \
#define DEFINE_FASTCALL_WRAPPER(func,args) \
__ASM_GLOBAL_FUNC( __fastcall_ ## func, \
"popl %eax\n\t" \
"pushl %edx\n\t" \
"pushl %ecx\n\t" \
"pushl %eax\n\t" \
"jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(16))
"jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
#else
#define DEFINE_FASTCALL_WRAPPER(func,args) /* nothing */
#endif
/* CRC polynomial 0xedb88320 */
......@@ -1256,14 +1258,9 @@ PSLIST_ENTRY WINAPI RtlInterlockedPushListSListEx(PSLIST_HEADER list, PSLIST_ENT
/*************************************************************************
* RtlInterlockedPushListSList [NTDLL.@]
*/
#ifdef DEFINE_FASTCALL4_ENTRYPOINT
DEFINE_FASTCALL4_ENTRYPOINT(RtlInterlockedPushListSList)
PSLIST_ENTRY WINAPI DECLSPEC_HIDDEN __regs_RtlInterlockedPushListSList(PSLIST_HEADER list, PSLIST_ENTRY first,
PSLIST_ENTRY last, ULONG count)
#else
DEFINE_FASTCALL_WRAPPER(RtlInterlockedPushListSList, 16)
PSLIST_ENTRY WINAPI RtlInterlockedPushListSList(PSLIST_HEADER list, PSLIST_ENTRY first,
PSLIST_ENTRY last, ULONG count)
#endif
{
return RtlInterlockedPushListSListEx(list, first, last, count);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment