checkasm: x86: post commit review fixes

Check the full FPU tag word instead of only the lower half and simplify
the comparison.
Use upper-case function base name as macro name to instantiate both
checked_call variants.
This commit is contained in:
Janne Grunau 2015-12-22 22:51:55 +01:00
parent f4f27e4cf1
commit f0f54117c8

View File

@ -98,7 +98,7 @@ cglobal stack_clobber, 1,2
; void checkasm_checked_call(void *func, ...) ; void checkasm_checked_call(void *func, ...)
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
INIT_XMM INIT_XMM
%macro check_call 0-1 %macro CHECKED_CALL 0-1
cglobal checked_call%1, 2,15,16,max_args*8+8 cglobal checked_call%1, 2,15,16,max_args*8+8
mov t0, r0 mov t0, r0
@ -171,9 +171,8 @@ cglobal checked_call%1, 2,15,16,max_args*8+8
.clobber_ok: .clobber_ok:
%ifnid %1, _emms %ifnid %1, _emms
fstenv [rsp] fstenv [rsp]
mov r9h, [rsp + 8] cmp word [rsp + 8], 0xffff
add r9h, 1 je .emms_ok
jz .emms_ok
report_fail error_message_emms report_fail error_message_emms
emms emms
.emms_ok: .emms_ok:
@ -201,7 +200,7 @@ cglobal checked_call%1, 2,15,16,max_args*8+8
mov eax, r3 mov eax, r3
%endmacro %endmacro
%macro check_call 0-1 %macro CHECKED_CALL 0-1
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
; void checkasm_checked_call(void *func, ...) ; void checkasm_checked_call(void *func, ...)
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
@ -225,10 +224,9 @@ cglobal checked_call%1, 1,7
report_fail error_message report_fail error_message
.clobber_ok: .clobber_ok:
%ifnid %1, _emms %ifnid %1, _emms
fstenv [rsp] fstenv [esp]
mov r3h, [rsp + 8] cmp word [esp + 8], 0xffff
add r3h, 1 je .emms_ok
jz .emms_ok
report_fail error_message_emms report_fail error_message_emms
emms emms
.emms_ok: .emms_ok:
@ -241,5 +239,5 @@ cglobal checked_call%1, 1,7
%endif ; ARCH_X86_64 %endif ; ARCH_X86_64
check_call CHECKED_CALL
check_call _emms CHECKED_CALL _emms