Fix asm implementations of RtlInterlockedPopEntrySList, RtlInterlockedPushEntrySList and RtlInterlockedFlushSList, by correcting the stack offset for the parameters. Thanks to Pigglesworth for the hint.

svn path=/trunk/; revision=40785
This commit is contained in:
Timo Kreuzer 2009-05-04 15:27:37 +00:00
parent 948d788c6d
commit b7d8d95bf1

View file

@ -24,13 +24,13 @@ _RtlInterlockedPopEntrySList@4:
push ebp push ebp
/* Load ListHead into ebp */ /* Load ListHead into ebp */
mov ebp, [esp + 8] mov ebp, [esp + 12]
/* Load ListHead->Next into eax */ /* Load ListHead->Next into eax */
mov eax, [ebp] mov eax, [ebp]
/* Load ListHead->Depth and ListHead->Sequence into edx */ /* Load ListHead->Depth and ListHead->Sequence into edx */
mov edx, [ebp+4] mov edx, [ebp + 4]
1: 1:
/* Check if ListHead->Next is NULL */ /* Check if ListHead->Next is NULL */
@ -70,10 +70,10 @@ _RtlInterlockedPushEntrySList@8:
push ebp push ebp
/* Load ListHead into ebp */ /* Load ListHead into ebp */
mov ebp, [esp + 4] mov ebp, [esp + 12]
/* Load ListEntry into ebx */ /* Load ListEntry into ebx */
mov ebx, [esp + 12] mov ebx, [esp + 16]
/* Load ListHead->Next into eax */ /* Load ListHead->Next into eax */
mov eax, [ebp] mov eax, [ebp]
@ -116,7 +116,7 @@ _RtlInterlockedFlushSList@4:
xor ebx, ebx xor ebx, ebx
/* Load ListHead into ebp */ /* Load ListHead into ebp */
mov ebp, [esp + 4] mov ebp, [esp + 12]
/* Load ListHead->Next into eax */ /* Load ListHead->Next into eax */
mov eax, [ebp] mov eax, [ebp]