Blender Git Commit Log

Git Commits -> Revision adcc28e

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)

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