kernel32: Change the DEFINE_REGS_ENTRYPOINT macro to use a number of args instead...
authorAlexandre Julliard <julliard@winehq.org>
Tue, 6 Jan 2009 11:49:38 +0000 (12:49 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 6 Jan 2009 11:49:38 +0000 (12:49 +0100)
Also assume that all register functions are stdcall.

dlls/kernel32/kernel_private.h
dlls/kernel32/thunk.c
dlls/kernel32/vxd.c

index 18d71b59ee639a0363db8e3ecdd908e98fa4d263..5ab5b0e6593b1ff914464612257114a4c0eabcfb 100644 (file)
@@ -146,12 +146,12 @@ extern HANDLE get_BaseNamedObjects_handle(void);
 /* Register functions */
 
 #ifdef __i386__
-#define DEFINE_REGS_ENTRYPOINT( name, args, pop_args ) \
+#define DEFINE_REGS_ENTRYPOINT( name, args ) \
     __ASM_GLOBAL_FUNC( name, \
                        "pushl %eax\n\t" \
                        "call " __ASM_NAME("__wine_call_from_32_regs") "\n\t" \
                        ".long " __ASM_NAME("__regs_") #name "-.\n\t" \
-                       ".byte " #args "," #pop_args )
+                       ".byte 4*" #args ",4*" #args )
 #endif
 
 #endif
index 29093dec30717ef46366186cfd9c1ad437daa823..1b72e99232572baf55fe14ac4da0d5c2032df683 100644 (file)
@@ -192,7 +192,7 @@ void WINAPI __regs_LogApiThkLSF( LPSTR func, CONTEXT86 *context )
     TRACE( "%s\n", debugstr_a(func) );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( LogApiThkLSF, 4, 4 )
+DEFINE_REGS_ENTRYPOINT( LogApiThkLSF, 1 )
 #endif
 
 /***********************************************************************
@@ -205,7 +205,7 @@ void WINAPI __regs_LogApiThkSL( LPSTR func, CONTEXT86 *context )
     TRACE( "%s\n", debugstr_a(func) );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( LogApiThkSL, 4, 4 )
+DEFINE_REGS_ENTRYPOINT( LogApiThkSL, 1 )
 #endif
 
 /***********************************************************************
@@ -218,7 +218,7 @@ void WINAPI __regs_LogCBThkSL( LPSTR func, CONTEXT86 *context )
     TRACE( "%s\n", debugstr_a(func) );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( LogCBThkSL, 4, 4 )
+DEFINE_REGS_ENTRYPOINT( LogCBThkSL, 1 )
 #endif
 
 /***********************************************************************
@@ -487,7 +487,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT86 *context )
                         ( OFFSETOF(NtCurrentTeb()->WOW32Reserved) - argsize );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( QT_Thunk, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( QT_Thunk, 0 )
 #endif
 
 
@@ -555,7 +555,7 @@ void WINAPI __regs_FT_Prolog( CONTEXT86 *context )
     *(DWORD *)(context->Ebp - 52) = context->Edx;
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( FT_Prolog, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( FT_Prolog, 0 )
 #endif
 
 /**********************************************************************
@@ -623,7 +623,7 @@ void WINAPI __regs_FT_Thunk( CONTEXT86 *context )
     memcpy( oldstack, newstack, argsize );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( FT_Thunk, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( FT_Thunk, 0 )
 #endif
 
 #ifdef __i386__
@@ -779,7 +779,7 @@ void WINAPI __regs_Common32ThkLS( CONTEXT86 *context )
     context->Esp += LOBYTE(context16.Ebx);
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( Common32ThkLS, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( Common32ThkLS, 0 )
 #endif
 
 /***********************************************************************
@@ -836,7 +836,7 @@ void WINAPI __regs_OT_32ThkLSF( CONTEXT86 *context )
                         ( OFFSETOF(NtCurrentTeb()->WOW32Reserved) - argsize );
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( OT_32ThkLSF, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( OT_32ThkLSF, 0 )
 #endif
 
 /***********************************************************************
@@ -938,7 +938,7 @@ void WINAPI __regs_FT_PrologPrime( CONTEXT86 *context )
     context->Eip = (DWORD)relayCode;
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( FT_PrologPrime, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( FT_PrologPrime, 0 )
 #endif
 
 /***********************************************************************
@@ -970,7 +970,7 @@ void WINAPI __regs_QT_ThunkPrime( CONTEXT86 *context )
     context->Eip = (DWORD)relayCode;
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( QT_ThunkPrime, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( QT_ThunkPrime, 0 )
 #endif
 
 /***********************************************************************
@@ -1113,7 +1113,7 @@ void WINAPI __regs_W32S_BackTo32( CONTEXT86 *context )
     context->Eip = stack32_pop(context);
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( W32S_BackTo32, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( W32S_BackTo32, 0 )
 #endif
 
 /**********************************************************************
@@ -1230,7 +1230,7 @@ void WINAPI __regs_AllocMappedBuffer(
     }
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( AllocMappedBuffer, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( AllocMappedBuffer, 0 )
 #endif
 
 /**********************************************************************
@@ -1255,7 +1255,7 @@ void WINAPI __regs_FreeMappedBuffer(
     }
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( FreeMappedBuffer, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( FreeMappedBuffer, 0 )
 #endif
 
 /**********************************************************************
@@ -1363,7 +1363,7 @@ void WINAPI __regs_K32Thk1632Prolog( CONTEXT86 *context )
    ReleaseThunkLock(&CURRENT_STACK16->entry_point);
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( K32Thk1632Prolog, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( K32Thk1632Prolog, 0 )
 #endif
 
 /***********************************************************************
@@ -1400,7 +1400,7 @@ void WINAPI __regs_K32Thk1632Epilog( CONTEXT86 *context )
    }
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( K32Thk1632Epilog, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( K32Thk1632Epilog, 0 )
 #endif
 
 /*********************************************************************
@@ -2212,7 +2212,7 @@ void WINAPI __regs_CommonUnimpStub( CONTEXT86 *context )
     context->Esp += (context->Ecx & 0x0f) * 4;
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( CommonUnimpStub, 0, 0 )
+DEFINE_REGS_ENTRYPOINT( CommonUnimpStub, 0 )
 #endif
 
 /**********************************************************************
index 1ce1060a762cbf0ea429479a8ad7f6569e7b8ddb..92ad24238de0ff0e5885d6e20efd195ab1a2fa4f 100644 (file)
@@ -297,7 +297,7 @@ void WINAPI __regs_VxDCall( DWORD service, CONTEXT86 *context )
     }
 }
 #ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( VxDCall, 4, 4 )
+DEFINE_REGS_ENTRYPOINT( VxDCall, 1 )
 #endif