From 2f8a289f854cb8c9f8640b67f5071024a7f6333b Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 26 Nov 2009 00:42:44 -0500 Subject: * gc.c (mark_mem_region): Bugfix: do not mess with the valgrind accessibility of the heap object if valgrind debugging is not enabled. --- ChangeLog | 5 +++++ gc.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c39081c9..bc0fc835 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-11-25 Kaz Kylheku + + * gc.c (mark_mem_region): Bugfix: do not mess with the valgrind + accessibility of the heap object if valgrind debugging is not enabled. + 2009-11-25 Kaz Kylheku * parser.y (grammar): Fixes for bison 2.4.1. Remove superfluous action diff --git a/gc.c b/gc.c index 2ba3231f..07bcea6e 100644 --- a/gc.c +++ b/gc.c @@ -301,14 +301,16 @@ static void mark_mem_region(val *low, val *high) #endif if (in_heap(maybe_obj)) { #ifdef HAVE_VALGRIND - VALGRIND_MAKE_MEM_DEFINED(maybe_obj, sizeof *maybe_obj); + if (opt_vg_debug) + VALGRIND_MAKE_MEM_DEFINED(maybe_obj, sizeof *maybe_obj); #endif type_t t = maybe_obj->t.type; if ((t & FREE) == 0) { mark_obj(maybe_obj); } else { #ifdef HAVE_VALGRIND - VALGRIND_MAKE_MEM_NOACCESS(maybe_obj, sizeof *maybe_obj); + if (opt_vg_debug) + VALGRIND_MAKE_MEM_NOACCESS(maybe_obj, sizeof *maybe_obj); #endif } } -- cgit v1.2.3