Blender Git Loki
Git Commits -> Revision adcc28e
Revision adcc28e by Sergey Sharybin (soc-2013-depsgraph_mt) September 9, 2013, 09:27 (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. |
Commit Details:
Full Hash: adcc28eaa47dec967b89d0e8448e5854c15ade48
SVN Revision: 59942
Parent Commit: cefb2b2
Lines Changed: +1743, -1358
3 Added Paths:
/intern/guardedalloc/intern/mallocn_guarded_impl.c (+1114, -0) (View)
/intern/guardedalloc/intern/mallocn_intern.h (+128, -0) (View)
/intern/guardedalloc/intern/mallocn_lockfree_impl.c (+376, -0) (View)
/intern/guardedalloc/intern/mallocn_intern.h (+128, -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 (+0, -3) (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, -7) (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 (+0, -3) (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, -7) (Diff)