diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2009-11-25 15:46:54 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2009-11-25 15:46:54 -0800 |
commit | 3c784ae4f4b25ebcc4019b77c77a7e365fdac261 (patch) | |
tree | 6f6dd9edeb85051baa617f72268c6704c4d64d97 /ChangeLog | |
parent | 1dc59ff8a80f2635785bef5c50fb3f7e815f060d (diff) | |
download | txr-3c784ae4f4b25ebcc4019b77c77a7e365fdac261.tar.gz txr-3c784ae4f4b25ebcc4019b77c77a7e365fdac261.tar.bz2 txr-3c784ae4f4b25ebcc4019b77c77a7e365fdac261.zip |
More Valgrind support. New option --vg-debug which turns on
Valgrind protection of free blocks. This works independently
of --gc-debug.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -1,5 +1,30 @@ 2009-11-25 Kaz Kylheku <kkylheku@gmail.com> + More Valgrind support. New option --vg-debug which turns on + Valgrind protection of free blocks. This works independently + of --gc-debug. + + * gc.c (opt_vg_debug): New conditionally defined global variable. + (more): Mark entire heap of free blocks inaccessible, if + vg debugging is enabled. + (make_obj): If vg debugging enabled, mark returned block as accessible, + but undefined, and take care to grant self temporary access while + manipulating the free list. + (finalize): Removed old debugging logic of not freeing strings + and vectors during gc debug. If the null pointers are ever a problem + during debugging, they can be checked inside obj_print, and + turned into #<garbage ...> notation. + (sweep): Switch to FIFO free block recycling if vg debugging is + enabled, just like when gc debugging is enabled. + Mark freed blocks as inaccessible, careful to grant self + temporary access while manipulating the free list. + + * txr.c (txr_main): Parse the --vg-debug option. + + * txr.h (opt_vg_debug): Conditionally declared. + +2009-11-25 Kaz Kylheku <kkylheku@gmail.com> + Fix a build breakage that may happen on some platforms. The parser.y file includes "utf8.h", which uses the the type wint_t. It also includes "lib.h" which uses "wchar_t". But it fails |