|
From: <sv...@va...> - 2012-01-17 21:21:10
|
Author: philippe Date: 2012-01-17 21:16:30 +0000 (Tue, 17 Jan 2012) New Revision: 12341 Log: Fixes 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit * new files include/pub_tool_groupalloc.h and coregrind/m_groupalloc.c implementing a group allocator (based on helgrind group alloc). * include/Makefile.am coregrind/Makefile.am : added pub_tool_groupalloc.h and m_groupalloc.c * helgrind/libhb_core.c : use pub_tool_groupalloc.h/m_groupalloc.c instead of the local implementation. * include/pub_tool_oset.h coregrind/m_oset.c : new function allowing to create an oset that will use a pool allocator. new function allowing to clone an oset (so as to share the pool alloc) * memcheck/tests/unit_oset.c drd/tests/unit_bitmap.c : modified so that it compiles with the new m_oset.c * memcheck/mc_main.c : use group alloc for MC_Chunk memcheck/mc_include.h : declare the MC_Chunk group alloc * memcheck/mc_main.c : use group alloc for the nodes of the secVBitTable OSet * include/pub_tool_hashtable.h coregrind/m_hashtable.c : pass the free node function in the VG_(HT_destruct). (needed as the hashtable user can allocate a node with its own alloc, the hash table destroy must be able to free the nodes with the user own free). * coregrind/m_gdbserver/m_gdbserver.c : pass free function to VG_(HT_destruct) * memcheck/mc_replace_strmem.c memcheck/mc_machine.c memcheck/mc_malloc_wrappers.c memcheck/mc_leakcheck.c memcheck/mc_errors.c memcheck/mc_translate.c : new include needed due to group alloc. Added: trunk/coregrind/m_poolalloc.c trunk/include/pub_tool_poolalloc.h Modified: trunk/NEWS trunk/coregrind/Makefile.am trunk/coregrind/m_gdbserver/m_gdbserver.c trunk/coregrind/m_hashtable.c trunk/coregrind/m_oset.c trunk/drd/tests/unit_bitmap.c trunk/helgrind/libhb_core.c trunk/include/Makefile.am trunk/include/pub_tool_hashtable.h trunk/include/pub_tool_oset.h trunk/memcheck/mc_errors.c trunk/memcheck/mc_include.h trunk/memcheck/mc_leakcheck.c trunk/memcheck/mc_machine.c trunk/memcheck/mc_main.c trunk/memcheck/mc_malloc_wrappers.c trunk/memcheck/mc_replace_strmem.c trunk/memcheck/mc_translate.c trunk/memcheck/tests/unit_oset.c trunk/memcheck/tests/unit_oset.stdout.exp [... diff too large to include ...] |