diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gc.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2009-11-25 Kaz Kylheku <kkylheku@gmail.com> + * 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 <kkylheku@gmail.com> + * parser.y (grammar): Fixes for bison 2.4.1. Remove superfluous action in chrlit. Include <stdlib.h> for abort. @@ -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 } } |