Blender Git Loki
Git Commits -> Revision 4bd4037
Revision 4bd4037 by Sergey Sharybin (master) October 10, 2013, 11:58 (GMT) |
Lock-free memory allocator Release builds will now use lock-free allocator by default without any internal locks happening. MemHead is also reduces to as minimum as it's possible. It still need to be size_t stored in a MemHead in order to make us keep track on memory we're requesting from the system, not memory which system is allocating. This is probably also faster than using a malloc's usable size function. Lock-free guarded allocator will say you whether all the blocks were freed, but wouldn't give you a list of unfreed blocks list. To have such a list use a --debug or --debug-memory command line arguments. Debug builds does have the same behavior as release builds. This is so tools like valgrind are not screwed up by guarded allocator as they're currently are. -- svn merge -r59941:59942 -r60072:60073 -r60093:60094 -r60095:60096 ^/branches/soc-2013-depsgraph_mt |
Commit Details:
Full Hash: 4bd40372769e9ebf078dadb0442366176e8990e6
SVN Revision: 60658
Parent Commit: 77a0b90
Lines Changed: +1750, -1356
3 Added Paths:
/intern/guardedalloc/intern/mallocn_guarded_impl.c (+1114, -0) (View)
/intern/guardedalloc/intern/mallocn_intern.h (+129, -0) (View)
/intern/guardedalloc/intern/mallocn_lockfree_impl.c (+376, -0) (View)
/intern/guardedalloc/intern/mallocn_intern.h (+129, -0) (View)
/intern/guardedalloc/intern/mallocn_lockfree_impl.c (+376, -0) (View)
10 Modified Paths:
/CMakeLists.txt (+0, -3) (Diff)
/intern/guardedalloc/CMakeLists.txt (+3, -9) (Diff)
/intern/guardedalloc/intern/mallocn.c (+51, -1249) (Diff)
/intern/guardedalloc/MEM_guardedalloc.h (+28, -73) (Diff)
/intern/guardedalloc/SConscript (+6, -4) (Diff)
/source/blender/makesdna/intern/CMakeLists.txt (+2, -5) (Diff)
/source/blender/makesdna/intern/SConscript (+0, -2) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+2, -5) (Diff)
/source/blender/makesrna/intern/SConscript (+0, -2) (Diff)
/source/creator/creator.c (+39, -4) (Diff)
/intern/guardedalloc/CMakeLists.txt (+3, -9) (Diff)
/intern/guardedalloc/intern/mallocn.c (+51, -1249) (Diff)
/intern/guardedalloc/MEM_guardedalloc.h (+28, -73) (Diff)
/intern/guardedalloc/SConscript (+6, -4) (Diff)
/source/blender/makesdna/intern/CMakeLists.txt (+2, -5) (Diff)
/source/blender/makesdna/intern/SConscript (+0, -2) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+2, -5) (Diff)
/source/blender/makesrna/intern/SConscript (+0, -2) (Diff)
/source/creator/creator.c (+39, -4) (Diff)