user32: Add call frame annotations in x86 assembly code.
This commit is contained in:
parent
b6efd13ef5
commit
39984d4824
|
@ -282,10 +282,16 @@ extern LRESULT WINPROC_wrapper( WNDPROC proc, HWND hwnd, UINT msg,
|
|||
WPARAM wParam, LPARAM lParam );
|
||||
__ASM_GLOBAL_FUNC( WINPROC_wrapper,
|
||||
"pushl %ebp\n\t"
|
||||
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
|
||||
__ASM_CFI(".cfi_rel_offset %ebp,0\n\t")
|
||||
"movl %esp,%ebp\n\t"
|
||||
__ASM_CFI(".cfi_def_cfa_register %ebp\n\t")
|
||||
"pushl %edi\n\t"
|
||||
__ASM_CFI(".cfi_rel_offset %edi,-4\n\t")
|
||||
"pushl %esi\n\t"
|
||||
__ASM_CFI(".cfi_rel_offset %esi,-8\n\t")
|
||||
"pushl %ebx\n\t"
|
||||
__ASM_CFI(".cfi_rel_offset %ebx,-12\n\t")
|
||||
"subl $12,%esp\n\t"
|
||||
"pushl 24(%ebp)\n\t"
|
||||
"pushl 20(%ebp)\n\t"
|
||||
|
@ -295,9 +301,14 @@ __ASM_GLOBAL_FUNC( WINPROC_wrapper,
|
|||
"call *%eax\n\t"
|
||||
"leal -12(%ebp),%esp\n\t"
|
||||
"popl %ebx\n\t"
|
||||
__ASM_CFI(".cfi_same_value %ebx\n\t")
|
||||
"popl %esi\n\t"
|
||||
__ASM_CFI(".cfi_same_value %esi\n\t")
|
||||
"popl %edi\n\t"
|
||||
__ASM_CFI(".cfi_same_value %edi\n\t")
|
||||
"leave\n\t"
|
||||
__ASM_CFI(".cfi_def_cfa %esp,4\n\t")
|
||||
__ASM_CFI(".cfi_same_value %ebp\n\t")
|
||||
"ret" )
|
||||
#else
|
||||
static inline LRESULT WINPROC_wrapper( WNDPROC proc, HWND hwnd, UINT msg,
|
||||
|
|
Loading…
Reference in New Issue