newsText Extractor TXR - News: Version 026 is out.

 
 
Latest News
Version 044 is out. posted by kkylheku, Fri 02 Dec 2011 06:01:22 PM UTC - 0 replies
Version 042 is out posted by kkylheku, Tue 22 Nov 2011 10:08:49 PM UTC - 0 replies
Txr 039 is out. posted by kkylheku, Mon 10 Oct 2011 04:32:24 PM UTC - 0 replies
Txr 038 is out. posted by kkylheku, Fri 07 Oct 2011 01:18:40 AM UTC - 0 replies
Version 035 out. posted by kkylheku, Tue 05 Oct 2010 03:11:46 PM UTC - 0 replies
[Submit News]
[17 news in archive]

Version 026 is out.

Item posted by Kaz Kylheku <kkylheku> on Fri 27 Nov 2009 06:03:35 AM UTC.

I introduced Valgrind integration in the garbage collector. You must pass the --valgrind option to the configure script to set this up. The basic support squashes false positive error reports from valgrind that occur during the marking phase of the mark-and-sweep, since the stack scanning can touch uninitialized data. Furthermore, the txr option --vg-debug, turns on more advanced valgrind support: objects on the GC free/recycle list are marked as inaccessible such that accesses to free objects, while they are free, will be trapped by valgrind. In this mode, FIFO recycling is used: least recently freed objects are allocated first, to maximize the time that a reclaimed object stays on the free list, thus maximizing the chances of catching an invalid ccess to it. One other Valgrind-related fix is to suppress some false positive leak reports: txr's vectors are stored in such a way that the vector data is referenced by an internal pointer, not by a pointer to the base. To valgrind, this looks suspicious. So when Valgrind support is enabled, the library maintains an additional pointer, so the debugger knows that the objects are genuinely reachable.

I fixed some build issues and added configure-time detection for yacc.

Found and fixed two cases of uninitialized memory. (Amazing what you find when valgrind doesn't flood you with false positives!)

The test cases run with zero reports from Valgrind now. (Disclaimer: on my machine, etc). :)

In the @(next) and @(output) directive, the args and nothrow keywords are really keyword symbols now: have to be written as :nothrow and :args. This will be instantly recognizeable by those of you who are Lispers as making sense.

Comments:

No messages in Version 026 is out.

 

Back to the top


Powered by Savane 3.1-cleanup