Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-20Memory allocator: Clarify consistency check functionSergey Sharybin
Also make it to return truth when everything is good and false otherwise.
2018-01-17Memory: add MEM_malloc_arrayN() function to protect against overflow.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3002
2017-09-29Drop platform support for Solaris & AIXCampbell Barton
These platforms didn't see maintenance in years. This commit just removes ifdef's & cmake check.
2015-03-12GuardedAlloc: safer MEM_SAFE_FREECampbell Barton
only instantiate the argument once, so MEM_SAFE_FREE(array[i++]), won't cause incorrect behavior.
2014-10-14Fix inconsistent types in guardeallocDan Horák
This basically fixes mix of size_t and uintptr_t usages which might be different size.
2014-08-16CommentsCampbell Barton
2014-06-13Use advantage of SSE2 instructions in gaussian blur nodeSergey Sharybin
This gives around 30% of speedup for gaussian blur node. Pretty much straightforward implementation inside the node itself, but needed to implement some additional things: - Aligned malloc. It's needed to load data onto SSE registers faster. based on the aligned_malloc() from Libmv with some additional trickery going on to support arbitrary alignment (this magic is needed because of MemHead). In the practice only 16bit alignment is supported because of the lack of aligned malloc with arbitrary alignment for OSX. Not a bit deal for now because we need 16 bytes alignment at this moment only. Could be tweaked further later. - Memory buffers in compositor are now aligned to 16 bytes. Should be harmless for non-SSE cases too. just mentioning. Reviewers: campbellbarton, lukastoenne, jbakker Reviewed By: campbellbarton CC: lockal Differential Revision: https://developer.blender.org/D564
2013-10-10add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space.Campbell Barton
2013-10-10Lock-free memory allocatorSergey Sharybin
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
2013-10-09Fix compilation error after recent libmv changeSergey Sharybin
- Tweaked typedefs in stdint so they match what we've got in BLI_sys_types (needed to explicitly tell sign to MSVC). Not so much harmful to be more explicit here, but we really better to have single stdint int blender. - Tweaked allocations macros so MSVC is happy with structures allocation.
2013-10-09Move guarded objetc allocation to a guardedalloc headerSergey Sharybin
Also made libmv-capi use guarded objetc allocation. Run into some suspecious cases when it was not so clear whether memory is being freed or not. Now we'll know for sure whether there're leaks or not :) Having this macros in a guardedalloc header helps using them in other areas (for now it's OCIO and libmv, but in the future it'll be more places).
2013-09-01use strict flags for guarded allocCampbell Barton
2013-08-06use gcc malloc attribute for low level allocation functions, prevents gcc ↵Campbell Barton
from checking if resulting pointers alias existing pointers, also use sentinel attribute for uiButGetStrInfo so incorrect usage gives a warning.
2013-08-04avoid using MEM_reallocN_id directly, add utility macro for freeing.Campbell Barton
2013-08-03add versions of MEM_reallocN, MEM_recallocN which take a string arg so new ↵Campbell Barton
allocs have an ID, changing existing functions signatures would be too disruptive at the moment.
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
2013-05-21remove return value from MEM_freeN, it wasn't used anywhere and was cast to ↵Campbell Barton
a different function signature. (which evidently works but error prone).
2013-05-12correct assert for driver evaluation,Campbell Barton
also add asserts for listbase functions when the list is NULL, and use noreturn attribute for jpeg_error.
2013-03-18style cleanupCampbell Barton
2012-08-21code cleanup: vfont's used confusing and over complicated method of storing ↵Campbell Barton
memory for loaded fonts, not store as a temp var in the fonts.
2012-08-11add MEM_recallocN(), so bytes are ensured to be zero'd when growing.Campbell Barton
2012-07-31Fix warnings on old apple GCC compiler due to no support for alloc_size ↵Brecht Van Lommel
attribute.
2012-07-14header comment cleanup, explain whats the difference between confusingly ↵Campbell Barton
named drarnode.c and node_draw.c.
2012-07-14use gcc attributes for BLI alloc functionsCampbell Barton
2012-07-08correct use of __attribute__((nonnull))Campbell Barton
2012-07-08use gcc attrubutes to warn on unused return values and arguments which ↵Campbell Barton
shouldnt be NULL. also remove IDP_AppendArray's return value which wasnt the new item in the array (which is odd/misleading), but wasnt used anywhere either.
2012-07-08use alloc_size attribute for guarded alloc functions with gcc.Campbell Barton
2012-06-27style cleanup: header comments, use more doxy compat formattingCampbell Barton
2012-06-25Guardedalloc/C++: delete is valid on a NULL pointer, add a check so MEM_freeNBrecht Van Lommel
doesn't print warning messages.
2012-06-25optionally use guarded alloc for tiles compositor, also replace allocation ↵Campbell Barton
functions with a macro.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-03-09image.depth, 96/128 for float color images, was 24/32 for byte images.Campbell Barton
also use <> for system includes
2011-02-22doxygen: add bullet to extern libs, some small changes in page names, and ↵Nathan Letwory
fixes around license blocks
2011-02-21doxygen: some code shuffle to prevent clashing file names, ensure ↵Nathan Letwory
MEM_guardedalloc.h also shows in docs
2011-02-21doxygen: add guardedalloc and AVINathan Letwory
2011-02-12fix for uninitialized value in BLI_path_cwd() if PWD wasn't defined and the ↵Campbell Barton
CWD was longer then 160.
2011-01-15misc edits, no functional changesCampbell Barton
- enabling/disabling no longer prints in the terminal unless in debug mode. - remove 'header' struct from BLI_storage_types.h, from revision 2 and is not used. - Add GCC property to guardedalloc to warn if the return value from allocation functions isn't used.
2010-10-18bugfix [#24302] Ctrl+Click Extrude gets old mouse eventsCampbell Barton
double click didnt check mouse distance moved so you could click twice in different areas of the screen very fast and generate a double click event which had old mouse coords copied into it but was sent to an operator set to run on single click (because the double click wasnt handled). Also added MEM_name_ptr function (included in debug mode only), prints the name of allocated memory. used for debugging where events came from.
2010-07-25from Luca's recent commit noticed there are more typo's: lenght -> lengthCampbell Barton
2010-05-04merging revisions 28564-28569 from render branch into trunkJoseph Eagar
2010-04-30use size_t for MEM_allocN_len as well as some of its callersCampbell Barton
2010-04-29Amendment to r28508 (Make Blender malloc be 64 bit ready)Nathan Letwory
- one function missed in header causes compile problems (intern/guardedalloc/intern/mallocn.c:352: error: conflicting types for ‘MEM_mapallocN’)
2010-04-29Make Blender malloc wrapper be 64 bit ready.Guillermo S. Romero
2010-02-16[#18961] Use const char * where appropriate (2.5)Campbell Barton
from Sean Bartell (wtachi) added own changes bpy_props.c
2010-02-12correct fsf addressCampbell Barton
2010-02-08Guardedalloc: added MEM_reallocN function to do simple alloc/memcpy/free,Brecht Van Lommel
not as optimized as a system realloc but I've had to do this often enough manually to justify a utility function.
2009-11-11Debug tools: new function MEM_testN(void*)Martin Poirier
returns 0 if pointer is not in memlist
2009-11-11New function:Martin Poirier
void MEM_callbackmemlist(void (*func)(void*)); Will call the function passed as argument with all allocated address as parameter. Useful for debuging.
2009-09-22SVN maintenance.Guillermo S. Romero