diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index c21bc2f830b..7578ebc3edf 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -1739,12 +1739,8 @@ NTSTATUS WINAPI IoCallDriver( DEVICE_OBJECT *device, IRP *irp ) /*********************************************************************** * IofCallDriver (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( IofCallDriver ) -NTSTATUS WINAPI DECLSPEC_HIDDEN __regs_IofCallDriver( DEVICE_OBJECT *device, IRP *irp ) -#else +DEFINE_FASTCALL_WRAPPER( IofCallDriver, 8 ) NTSTATUS WINAPI IofCallDriver( DEVICE_OBJECT *device, IRP *irp ) -#endif { TRACE( "%p %p\n", device, irp ); return IoCallDriver( device, irp ); @@ -2073,12 +2069,8 @@ VOID WINAPI IoCompleteRequest( IRP *irp, UCHAR priority_boost ) /*********************************************************************** * IofCompleteRequest (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( IofCompleteRequest ) -void WINAPI DECLSPEC_HIDDEN __regs_IofCompleteRequest( IRP *irp, UCHAR priority_boost ) -#else +DEFINE_FASTCALL_WRAPPER( IofCompleteRequest, 8 ) void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost ) -#endif { TRACE( "%p %u\n", irp, priority_boost ); IoCompleteRequest( irp, priority_boost ); @@ -2088,12 +2080,8 @@ void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost ) /*********************************************************************** * InterlockedCompareExchange (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL3_ENTRYPOINT -DEFINE_FASTCALL3_ENTRYPOINT( NTOSKRNL_InterlockedCompareExchange ) -LONG WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_InterlockedCompareExchange, 12 ) LONG WINAPI NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare ) -#endif { return InterlockedCompareExchange( dest, xchg, compare ); } @@ -2102,12 +2090,8 @@ LONG WINAPI NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, /*********************************************************************** * InterlockedDecrement (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( NTOSKRNL_InterlockedDecrement ) -LONG WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedDecrement( LONG volatile *dest ) -#else +DEFINE_FASTCALL1_WRAPPER( NTOSKRNL_InterlockedDecrement ) LONG WINAPI NTOSKRNL_InterlockedDecrement( LONG volatile *dest ) -#endif { return InterlockedDecrement( dest ); } @@ -2116,12 +2100,8 @@ LONG WINAPI NTOSKRNL_InterlockedDecrement( LONG volatile *dest ) /*********************************************************************** * InterlockedExchange (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedExchange ) -LONG WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedExchange( LONG volatile *dest, LONG val ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_InterlockedExchange, 8 ) LONG WINAPI NTOSKRNL_InterlockedExchange( LONG volatile *dest, LONG val ) -#endif { return InterlockedExchange( dest, val ); } @@ -2130,12 +2110,8 @@ LONG WINAPI NTOSKRNL_InterlockedExchange( LONG volatile *dest, LONG val ) /*********************************************************************** * InterlockedExchangeAdd (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedExchangeAdd ) -LONG WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedExchangeAdd( LONG volatile *dest, LONG incr ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_InterlockedExchangeAdd, 8 ) LONG WINAPI NTOSKRNL_InterlockedExchangeAdd( LONG volatile *dest, LONG incr ) -#endif { return InterlockedExchangeAdd( dest, incr ); } @@ -2144,12 +2120,8 @@ LONG WINAPI NTOSKRNL_InterlockedExchangeAdd( LONG volatile *dest, LONG incr ) /*********************************************************************** * InterlockedIncrement (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( NTOSKRNL_InterlockedIncrement ) -LONG WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedIncrement( LONG volatile *dest ) -#else +DEFINE_FASTCALL1_WRAPPER( NTOSKRNL_InterlockedIncrement ) LONG WINAPI NTOSKRNL_InterlockedIncrement( LONG volatile *dest ) -#endif { return InterlockedIncrement( dest ); } @@ -2736,12 +2708,8 @@ NTSTATUS WINAPI ObReferenceObjectByPointer(void *obj, ACCESS_MASK access, /*********************************************************************** * ObfReferenceObject (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( ObfReferenceObject ) -void WINAPI DECLSPEC_HIDDEN __regs_ObfReferenceObject( void *obj ) -#else +DEFINE_FASTCALL1_WRAPPER( ObfReferenceObject ) void WINAPI ObfReferenceObject( void *obj ) -#endif { ObReferenceObject( obj ); } @@ -2750,12 +2718,8 @@ void WINAPI ObfReferenceObject( void *obj ) /*********************************************************************** * ObfDereferenceObject (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( ObfDereferenceObject ) -void WINAPI DECLSPEC_HIDDEN __regs_ObfDereferenceObject( void *obj ) -#else +DEFINE_FASTCALL1_WRAPPER( ObfDereferenceObject ) void WINAPI ObfDereferenceObject( void *obj ) -#endif { ObDereferenceObject( obj ); } @@ -4053,13 +4017,8 @@ typedef struct _EX_PUSH_LOCK_WAIT_BLOCK *PEX_PUSH_LOCK_WAIT_BLOCK; /********************************************************************* * ExfUnblockPushLock (NTOSKRNL.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( ExfUnblockPushLock ) -void WINAPI DECLSPEC_HIDDEN __regs_ExfUnblockPushLock( EX_PUSH_LOCK *lock, - PEX_PUSH_LOCK_WAIT_BLOCK block) -#else +DEFINE_FASTCALL_WRAPPER( ExfUnblockPushLock, 8 ) void WINAPI ExfUnblockPushLock( EX_PUSH_LOCK *lock, PEX_PUSH_LOCK_WAIT_BLOCK block ) -#endif { FIXME( "stub: %p, %p\n", lock, block ); } diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 902ae2ff4d3..975f6c0871f 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1,14 +1,14 @@ -@ stdcall -norelay ExAcquireFastMutexUnsafe(ptr) +@ stdcall -fastcall ExAcquireFastMutexUnsafe(ptr) @ stub ExAcquireRundownProtection @ stub ExAcquireRundownProtectionEx @ stub ExInitializeRundownProtection @ stub ExInterlockedAddLargeStatistic @ stub ExInterlockedCompareExchange64 @ stub ExInterlockedFlushSList -@ stdcall -arch=i386 -norelay ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList -@ stdcall -arch=i386 -norelay ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList +@ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList +@ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList @ stub ExReInitializeRundownProtection -@ stdcall -norelay ExReleaseFastMutexUnsafe(ptr) +@ stdcall -fastcall ExReleaseFastMutexUnsafe(ptr) @ stdcall ExReleaseResourceLite(ptr) @ stub ExReleaseRundownProtection @ stub ExReleaseRundownProtectionEx @@ -22,7 +22,7 @@ @ stub ExfInterlockedInsertTailList @ stub ExfInterlockedPopEntryList @ stub ExfInterlockedPushEntryList -@ stdcall -norelay -arch=i386 ExfInterlockedRemoveHeadList(ptr ptr) +@ stdcall -fastcall -arch=i386 ExfInterlockedRemoveHeadList(ptr ptr) @ stub ExfReleasePushLock @ stub Exfi386InterlockedDecrementLong @ stub Exfi386InterlockedExchangeUlong @@ -30,35 +30,35 @@ @ stdcall -arch=win64 ExpInterlockedPopEntrySList(ptr) RtlInterlockedPopEntrySList @ stdcall -arch=win64 ExpInterlockedPushEntrySList(ptr ptr) RtlInterlockedPushEntrySList @ stub HalExamineMBR -@ stdcall -norelay InterlockedCompareExchange(ptr long long) NTOSKRNL_InterlockedCompareExchange -@ stdcall -norelay InterlockedDecrement(ptr) NTOSKRNL_InterlockedDecrement -@ stdcall -norelay InterlockedExchange(ptr long) NTOSKRNL_InterlockedExchange -@ stdcall -norelay InterlockedExchangeAdd(ptr long) NTOSKRNL_InterlockedExchangeAdd -@ stdcall -norelay InterlockedIncrement(ptr) NTOSKRNL_InterlockedIncrement -@ stdcall -arch=win32 -norelay InterlockedPopEntrySList(ptr) NTOSKRNL_InterlockedPopEntrySList -@ stdcall -arch=win32 -norelay InterlockedPushEntrySList(ptr ptr) NTOSKRNL_InterlockedPushEntrySList +@ stdcall -fastcall InterlockedCompareExchange(ptr long long) NTOSKRNL_InterlockedCompareExchange +@ stdcall -fastcall InterlockedDecrement(ptr) NTOSKRNL_InterlockedDecrement +@ stdcall -fastcall InterlockedExchange(ptr long) NTOSKRNL_InterlockedExchange +@ stdcall -fastcall InterlockedExchangeAdd(ptr long) NTOSKRNL_InterlockedExchangeAdd +@ stdcall -fastcall InterlockedIncrement(ptr) NTOSKRNL_InterlockedIncrement +@ stdcall -fastcall -arch=win32 InterlockedPopEntrySList(ptr) NTOSKRNL_InterlockedPopEntrySList +@ stdcall -fastcall -arch=win32 InterlockedPushEntrySList(ptr ptr) NTOSKRNL_InterlockedPushEntrySList @ stdcall -arch=win64 ExQueryDepthSList(ptr) RtlQueryDepthSList @ stub IoAssignDriveLetters @ stub IoReadPartitionTable @ stub IoSetPartitionInformation @ stub IoWritePartitionTable -@ stdcall -norelay IofCallDriver(ptr ptr) -@ stdcall -norelay IofCompleteRequest(ptr long) +@ stdcall -fastcall IofCallDriver(ptr ptr) +@ stdcall -fastcall IofCompleteRequest(ptr long) @ stdcall -arch=arm,arm64,x86_64 KeAcquireInStackQueuedSpinLock(ptr ptr) -@ stdcall -norelay KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr) +@ stdcall -fastcall KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr) @ stdcall KeEnterGuardedRegion() @ stdcall KeExpandKernelStackAndCallout(ptr ptr long) @ stdcall KeExpandKernelStackAndCalloutEx(ptr ptr long long ptr) @ stdcall KeLeaveGuardedRegion() @ stdcall -arch=arm,arm64,x86_64 KeReleaseInStackQueuedSpinLock(ptr) -@ stdcall -norelay KeReleaseInStackQueuedSpinLockFromDpcLevel(ptr) +@ stdcall -fastcall KeReleaseInStackQueuedSpinLockFromDpcLevel(ptr) @ stub KeSetTimeUpdateNotifyRoutine @ stub KefAcquireSpinLockAtDpcLevel @ stub KefReleaseSpinLockFromDpcLevel @ stub KiAcquireSpinLock @ stub KiReleaseSpinLock -@ stdcall -norelay ObfDereferenceObject(ptr) -@ stdcall -norelay ObfReferenceObject(ptr) +@ stdcall -fastcall ObfDereferenceObject(ptr) +@ stdcall -fastcall ObfReferenceObject(ptr) @ stub RtlPrefetchMemoryNonTemporal @ cdecl -i386 -norelay RtlUlongByteSwap() @ cdecl -ret64 RtlUlonglongByteSwap(int64) @@ -140,7 +140,7 @@ @ stub ExEnumHandleTable @ extern ExEventObjectType @ stub ExExtendZone -@ stdcall -norelay ExfUnblockPushLock(ptr ptr) +@ stdcall -fastcall ExfUnblockPushLock(ptr ptr) @ stdcall ExFreePool(ptr) @ stdcall ExFreePoolWithTag(ptr long) @ stub ExFreeToPagedLookasideList diff --git a/dlls/ntoskrnl.exe/ntoskrnl_private.h b/dlls/ntoskrnl.exe/ntoskrnl_private.h index 87aa4f75ee4..c4002e8fbce 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl_private.h +++ b/dlls/ntoskrnl.exe/ntoskrnl_private.h @@ -27,27 +27,24 @@ struct _OBJECT_TYPE { void (*release)(void*); /* called when the last reference is released */ }; + #ifdef __i386__ -#define DEFINE_FASTCALL1_ENTRYPOINT( name ) \ - __ASM_STDCALL_FUNC( name, 4, \ +#define DEFINE_FASTCALL1_WRAPPER(func) \ + __ASM_GLOBAL_FUNC( __fastcall_ ## func, \ "popl %eax\n\t" \ "pushl %ecx\n\t" \ "pushl %eax\n\t" \ - "jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(4)) -#define DEFINE_FASTCALL2_ENTRYPOINT( name ) \ - __ASM_STDCALL_FUNC( name, 8, \ + "jmp " __ASM_NAME(#func) __ASM_STDCALL(4) ) +#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(8)) -#define DEFINE_FASTCALL3_ENTRYPOINT( name ) \ - __ASM_STDCALL_FUNC( name, 12, \ - "popl %eax\n\t" \ - "pushl %edx\n\t" \ - "pushl %ecx\n\t" \ - "pushl %eax\n\t" \ - "jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(12)) + "jmp " __ASM_NAME(#func) __ASM_STDCALL(args) ) +#else +#define DEFINE_FASTCALL1_WRAPPER(func) /* nothing */ +#define DEFINE_FASTCALL_WRAPPER(func,args) /* nothing */ #endif #endif diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index 081306c8b89..926df056b60 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -436,12 +436,8 @@ void WINAPI KeReleaseSpinLockFromDpcLevel( KSPIN_LOCK *lock ) /*********************************************************************** * KeAcquireInStackQueuedSpinLockAtDpcLevel (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( KeAcquireInStackQueuedSpinLockAtDpcLevel ) -void WINAPI DECLSPEC_HIDDEN __regs_KeAcquireInStackQueuedSpinLockAtDpcLevel( KSPIN_LOCK *lock, KLOCK_QUEUE_HANDLE *queue ) -#else +DEFINE_FASTCALL_WRAPPER( KeAcquireInStackQueuedSpinLockAtDpcLevel, 8 ) void WINAPI KeAcquireInStackQueuedSpinLockAtDpcLevel( KSPIN_LOCK *lock, KLOCK_QUEUE_HANDLE *queue ) -#endif { KSPIN_LOCK_QUEUE *tail; @@ -467,12 +463,8 @@ void WINAPI KeAcquireInStackQueuedSpinLockAtDpcLevel( KSPIN_LOCK *lock, KLOCK_QU /*********************************************************************** * KeReleaseInStackQueuedSpinLockFromDpcLevel (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( KeReleaseInStackQueuedSpinLockFromDpcLevel ) -void WINAPI DECLSPEC_HIDDEN __regs_KeReleaseInStackQueuedSpinLockFromDpcLevel( KLOCK_QUEUE_HANDLE *queue ) -#else +DEFINE_FASTCALL1_WRAPPER( KeReleaseInStackQueuedSpinLockFromDpcLevel ) void WINAPI KeReleaseInStackQueuedSpinLockFromDpcLevel( KLOCK_QUEUE_HANDLE *queue ) -#endif { KSPIN_LOCK *lock = (KSPIN_LOCK *)((ULONG_PTR)queue->LockQueue.Lock & ~QUEUED_SPINLOCK_OWNED); KSPIN_LOCK_QUEUE *next; @@ -555,13 +547,14 @@ void WINAPI IoReleaseCancelSpinLock( KIRQL irql ) KeReleaseSpinLock( &cancel_lock, irql ); } -#ifdef __i386__ -DEFINE_FASTCALL2_ENTRYPOINT( ExfInterlockedRemoveHeadList ) -PLIST_ENTRY WINAPI DECLSPEC_HIDDEN __regs_ExfInterlockedRemoveHeadList( LIST_ENTRY *list, KSPIN_LOCK *lock ) +/*********************************************************************** + * ExfInterlockedRemoveHeadList (NTOSKRNL.EXE.@) + */ +DEFINE_FASTCALL_WRAPPER( ExfInterlockedRemoveHeadList, 8 ) +PLIST_ENTRY WINAPI ExfInterlockedRemoveHeadList( LIST_ENTRY *list, KSPIN_LOCK *lock ) { return ExInterlockedRemoveHeadList( list, lock ); } -#endif /*********************************************************************** * ExInterlockedRemoveHeadList (NTOSKRNL.EXE.@) @@ -580,17 +573,12 @@ LIST_ENTRY * WINAPI ExInterlockedRemoveHeadList( LIST_ENTRY *list, KSPIN_LOCK *l return ret; } -#ifndef _WIN64 /*********************************************************************** * InterlockedPopEntrySList (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT( NTOSKRNL_InterlockedPopEntrySList ) -PSLIST_ENTRY WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedPopEntrySList( PSLIST_HEADER list ) -#else +DEFINE_FASTCALL1_WRAPPER( NTOSKRNL_InterlockedPopEntrySList ) PSLIST_ENTRY WINAPI NTOSKRNL_InterlockedPopEntrySList( PSLIST_HEADER list ) -#endif { return RtlInterlockedPopEntrySList( list ); } @@ -599,59 +587,38 @@ PSLIST_ENTRY WINAPI NTOSKRNL_InterlockedPopEntrySList( PSLIST_HEADER list ) /*********************************************************************** * InterlockedPushEntrySList (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedPushEntrySList ) -PSLIST_ENTRY WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_InterlockedPushEntrySList( PSLIST_HEADER list, - PSLIST_ENTRY entry ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_InterlockedPushEntrySList, 8 ) PSLIST_ENTRY WINAPI NTOSKRNL_InterlockedPushEntrySList( PSLIST_HEADER list, PSLIST_ENTRY entry ) -#endif { return RtlInterlockedPushEntrySList( list, entry ); } -#ifdef __i386__ /*********************************************************************** * ExInterlockedPopEntrySList (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL2_ENTRYPOINT -DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_ExInterlockedPopEntrySList ) -PSLIST_ENTRY WINAPI __regs_NTOSKRNL_ExInterlockedPopEntrySList( PSLIST_HEADER list, PKSPIN_LOCK lock ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_ExInterlockedPopEntrySList, 8 ) PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedPopEntrySList( PSLIST_HEADER list, PKSPIN_LOCK lock ) -#endif { return RtlInterlockedPopEntrySList( list ); } + /*********************************************************************** * ExInterlockedPushEntrySList (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL3_ENTRYPOINT -DEFINE_FASTCALL3_ENTRYPOINT( NTOSKRNL_ExInterlockedPushEntrySList ) -PSLIST_ENTRY WINAPI DECLSPEC_HIDDEN __regs_NTOSKRNL_ExInterlockedPushEntrySList( PSLIST_HEADER list, - PSLIST_ENTRY entry, - PKSPIN_LOCK lock ) -#else +DEFINE_FASTCALL_WRAPPER( NTOSKRNL_ExInterlockedPushEntrySList, 12 ) PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedPushEntrySList( PSLIST_HEADER list, PSLIST_ENTRY entry, PKSPIN_LOCK lock ) -#endif { return RtlInterlockedPushEntrySList( list, entry ); } -#endif /* __i386__ */ -#endif /* _WIN64 */ /*********************************************************************** * ExAcquireFastMutexUnsafe (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT(ExAcquireFastMutexUnsafe) -void WINAPI __regs_ExAcquireFastMutexUnsafe( FAST_MUTEX *mutex ) -#else +DEFINE_FASTCALL1_WRAPPER(ExAcquireFastMutexUnsafe) void WINAPI ExAcquireFastMutexUnsafe( FAST_MUTEX *mutex ) -#endif { LONG count; @@ -665,12 +632,8 @@ void WINAPI ExAcquireFastMutexUnsafe( FAST_MUTEX *mutex ) /*********************************************************************** * ExReleaseFastMutexUnsafe (NTOSKRNL.EXE.@) */ -#ifdef DEFINE_FASTCALL1_ENTRYPOINT -DEFINE_FASTCALL1_ENTRYPOINT(ExReleaseFastMutexUnsafe) -void WINAPI __regs_ExReleaseFastMutexUnsafe( FAST_MUTEX *mutex ) -#else +DEFINE_FASTCALL1_WRAPPER(ExReleaseFastMutexUnsafe) void WINAPI ExReleaseFastMutexUnsafe( FAST_MUTEX *mutex ) -#endif { LONG count;