[PATCH 2/4] ntdll: Speed up heap_set_debug_flags on Valgrind.
Alex Henrie
alexhenrie24 at gmail.com
Tue Dec 29 23:37:57 CST 2015
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
dlls/ntdll/heap.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index f928ebf..e4a2194 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -1449,6 +1449,8 @@ void heap_set_debug_flags( HANDLE handle )
if (TRACE_ON(heap)) global_flags |= FLG_HEAP_VALIDATE_ALL;
if (WARN_ON(heap)) global_flags |= FLG_HEAP_VALIDATE_PARAMETERS;
+ if (RUNNING_ON_VALGRIND) goto done; /* no sense in validating since Valgrind catches accesses */
+
if (global_flags & FLG_HEAP_ENABLE_TAIL_CHECK) flags |= HEAP_TAIL_CHECKING_ENABLED;
if (global_flags & FLG_HEAP_ENABLE_FREE_CHECK) flags |= HEAP_FREE_CHECKING_ENABLED;
if (global_flags & FLG_HEAP_DISABLE_COALESCING) flags |= HEAP_DISABLE_COALESCE_ON_FREE;
@@ -1461,8 +1463,6 @@ void heap_set_debug_flags( HANDLE handle )
flags |= HEAP_VALIDATE | HEAP_VALIDATE_ALL |
HEAP_TAIL_CHECKING_ENABLED | HEAP_FREE_CHECKING_ENABLED;
- if (RUNNING_ON_VALGRIND) flags = 0; /* no sense in validating since Valgrind catches accesses */
-
heap->flags |= flags;
heap->force_flags |= flags & ~(HEAP_VALIDATE | HEAP_DISABLE_COALESCE_ON_FREE);
@@ -1505,6 +1505,7 @@ void heap_set_debug_flags( HANDLE handle )
large->block_size - sizeof(*large) - large->data_size, flags );
}
+done:
if ((heap->flags & HEAP_GROWABLE) && !heap->pending_free &&
((flags & HEAP_FREE_CHECKING_ENABLED) || RUNNING_ON_VALGRIND))
{
--
2.6.4
More information about the wine-patches
mailing list