qzdoom/src/valgrind.inc

32 lines
517 B
PHP

%ifdef VALGRIND_AWARE
%define VG_USERREQ__DISCARD_TRANSLATIONS 0x1002
%macro selfmod 2
pusha
sub esp,6*4
mov dword [esp], VG_USERREQ__DISCARD_TRANSLATIONS
mov dword [esp+4], %1
mov dword [esp+8], %2 - %1
mov dword [esp+12], 0
mov dword [esp+16], 0
mov dword [esp+20], 0
mov eax, esp
; special instruction preamble
rol edi, 3
rol edi, 13
rol edi, 29
rol edi, 19
xchg ebx, ebx
; restore state
add esp,6*4
popa
%endmacro
%else
%macro selfmod 2
%endmacro
%endif