Blender Git Commit Log

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)

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021