[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58868] trunk/blender: add versions of MEM_reallocN, MEM_recallocN which take a string arg so new allocs have an ID, changing existing functions signatures would be too disruptive at the moment .

Campbell Barton ideasman42 at gmail.com
Sat Aug 3 19:53:41 CEST 2013


Revision: 58868
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58868
Author:   campbellbarton
Date:     2013-08-03 17:53:41 +0000 (Sat, 03 Aug 2013)
Log Message:
-----------
add versions of MEM_reallocN, MEM_recallocN which take a string arg so new allocs have an ID, changing existing functions signatures would be too disruptive at the moment.

Modified Paths:
--------------
    trunk/blender/intern/guardedalloc/MEM_guardedalloc.h
    trunk/blender/intern/guardedalloc/intern/mallocn.c
    trunk/blender/source/blender/blenkernel/intern/fmodifier.c
    trunk/blender/source/blender/makesrna/intern/rna_gpencil.c

Modified: trunk/blender/intern/guardedalloc/MEM_guardedalloc.h
===================================================================
--- trunk/blender/intern/guardedalloc/MEM_guardedalloc.h	2013-08-03 17:29:53 UTC (rev 58867)
+++ trunk/blender/intern/guardedalloc/MEM_guardedalloc.h	2013-08-03 17:53:41 UTC (rev 58868)
@@ -102,6 +102,19 @@
 #endif
 	;
 
+	void *MEM_reallocN_id(void *vmemh, size_t len, const char *str)
+#if MEM_GNU_ATTRIBUTES
+	__attribute__((warn_unused_result))
+	__attribute__((alloc_size(2)))
+#endif
+	;
+	void *MEM_recallocN_id(void *vmemh, size_t len, const char *str)
+#if MEM_GNU_ATTRIBUTES
+	__attribute__((warn_unused_result))
+	__attribute__((alloc_size(2)))
+#endif
+	;
+
 	/**
 	 * Reallocates a block of memory, and returns pointer to the newly
 	 * allocated block, the old one is freed. this is not as optimized

Modified: trunk/blender/intern/guardedalloc/intern/mallocn.c
===================================================================
--- trunk/blender/intern/guardedalloc/intern/mallocn.c	2013-08-03 17:29:53 UTC (rev 58867)
+++ trunk/blender/intern/guardedalloc/intern/mallocn.c	2013-08-03 17:53:41 UTC (rev 58868)
@@ -371,7 +371,7 @@
 	return newp;
 }
 
-void *MEM_reallocN(void *vmemh, size_t len)
+void *MEM_reallocN_id(void *vmemh, size_t len, const char *str)
 {
 	void *newp = NULL;
 	
@@ -394,13 +394,13 @@
 		MEM_freeN(vmemh);
 	}
 	else {
-		newp = MEM_mallocN(len, __func__);
+		newp = MEM_mallocN(len, str);
 	}
 
 	return newp;
 }
 
-void *MEM_recallocN(void *vmemh, size_t len)
+void *MEM_recallocN_id(void *vmemh, size_t len, const char *str)
 {
 	void *newp = NULL;
 
@@ -428,12 +428,23 @@
 		MEM_freeN(vmemh);
 	}
 	else {
-		newp = MEM_callocN(len, __func__);
+		newp = MEM_callocN(len, str);
 	}
 
 	return newp;
 }
 
+
+void *MEM_reallocN(void *vmemh, size_t len)
+{
+	return MEM_reallocN_id(vmemh, len, __func__);
+}
+void *MEM_recallocN(void *vmemh, size_t len)
+{
+	return MEM_recallocN_id(vmemh, len, __func__);
+}
+
+
 #ifdef DEBUG_BACKTRACE
 #  if defined(__linux__) || defined(__APPLE__)
 static void make_memhead_backtrace(MemHead *memh)

Modified: trunk/blender/source/blender/blenkernel/intern/fmodifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/fmodifier.c	2013-08-03 17:29:53 UTC (rev 58867)
+++ trunk/blender/source/blender/blenkernel/intern/fmodifier.c	2013-08-03 17:53:41 UTC (rev 58868)
@@ -144,12 +144,9 @@
 			const int arraysize_new = data->poly_order + 1;
 			/* arraysize needs to be order+1, so resize if not */
 			if (data->arraysize != arraysize_new) {
-				if (data->coefficients) {
-					data->coefficients = MEM_recallocN(data->coefficients, sizeof(float) * arraysize_new);
-				}
-				else {
-					data->coefficients = MEM_callocN(sizeof(float) * arraysize_new, "FMod_Generator_Coefs");
-				}
+				data->coefficients = MEM_recallocN_id(data->coefficients,
+				                                      sizeof(float) * arraysize_new,
+				                                      "FMod_Generator_Coefs");
 				data->arraysize = arraysize_new;
 			}
 			break;
@@ -159,12 +156,9 @@
 			const int arraysize_new = data->poly_order * 2;
 			/* arraysize needs to be (2 * order), so resize if not */
 			if (data->arraysize != arraysize_new) {
-				if (data->coefficients) {
-					data->coefficients = MEM_recallocN(data->coefficients, sizeof(float) * arraysize_new);
-				}
-				else {
-					data->coefficients = MEM_callocN(sizeof(float) * arraysize_new, "FMod_Generator_Coefs");
-				}
+				data->coefficients = MEM_recallocN_id(data->coefficients,
+				                                      sizeof(float) * arraysize_new,
+				                                      "FMod_Generator_Coefs");
 				data->arraysize = arraysize_new;
 			}
 			break;

Modified: trunk/blender/source/blender/makesrna/intern/rna_gpencil.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_gpencil.c	2013-08-03 17:29:53 UTC (rev 58867)
+++ trunk/blender/source/blender/makesrna/intern/rna_gpencil.c	2013-08-03 17:53:41 UTC (rev 58868)
@@ -118,11 +118,9 @@
 static void rna_GPencil_stroke_point_add(bGPDstroke *stroke, int count)
 {
 	if (count > 0) {
-		if (stroke->points == NULL)
-			stroke->points = MEM_callocN(sizeof(bGPDspoint) * count, "gp_stroke_points");
-		else
-			stroke->points = MEM_recallocN(stroke->points, sizeof(bGPDspoint) * (stroke->totpoints + count));
-
+		stroke->points = MEM_recallocN_id(stroke->points,
+		                                  sizeof(bGPDspoint) * (stroke->totpoints + count),
+		                                  "gp_stroke_points");
 		stroke->totpoints += count;
 	}
 }




More information about the Bf-blender-cvs mailing list