[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50977] trunk/blender/source/blender: add compiler hints that failing to create a bmesh face is unlikely.

Campbell Barton ideasman42 at gmail.com
Mon Oct 1 13:12:49 CEST 2012


Revision: 50977
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50977
Author:   campbellbarton
Date:     2012-10-01 11:12:49 +0000 (Mon, 01 Oct 2012)
Log Message:
-----------
add compiler hints that failing to create a bmesh face is unlikely.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c
    trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
    trunk/blender/source/blender/bmesh/intern/bmesh_core.c
    trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
    trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
    trunk/blender/source/blender/bmesh/operators/bmo_connect.c
    trunk/blender/source/blender/bmesh/operators/bmo_create.c
    trunk/blender/source/blender/bmesh/operators/bmo_extrude.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_types.c

Modified: trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -129,8 +129,9 @@
 
 		f = BM_face_create_ngon(bm, verts[0], verts[1], edges, mp->totloop, FALSE);
 
-		if (!f)
+		if (UNLIKELY(f == NULL)) {
 			continue;
+		}
 
 		f->head.hflag = BM_face_flag_from_mflag(mp->flag);
 		f->mat_nr = mp->mat_nr;

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -902,8 +902,9 @@
 		}
 
 		f2 = BM_face_create_ngon(bm_new, v, v2, edges, f->len, FALSE);
-		if (!f2)
+		if (UNLIKELY(f2 == NULL)) {
 			continue;
+		}
 		/* use totface in case adding some faces fails */
 		BM_elem_index_set(f2, (bm_new->totface - 1)); /* set_inline */
 

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -1021,7 +1021,7 @@
 
 	/* create region face */
 	newf = BM_face_create_ngon(bm, v1, v2, edges, tote, FALSE);
-	if (!newf || BMO_error_occurred(bm)) {
+	if (UNLIKELY(!newf || BMO_error_occurred(bm))) {
 		if (!BMO_error_occurred(bm))
 			err = "Invalid boundary region to join faces";
 		goto error;

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -314,7 +314,7 @@
 
 		f = BM_face_create(bm, verts, fedges, mpoly->totloop, FALSE);
 
-		if (!f) {
+		if (UNLIKELY(f == NULL)) {
 			printf("%s: Warning! Bad face in mesh"
 			       " \"%s\" at index %d!, skipping\n",
 			       __func__, me->id.name + 2, i);

Modified: trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bevel.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bevel.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -475,7 +475,7 @@
 		BLI_array_append(edges, e);
 		
 		f = BM_face_create_ngon(bm, verts[0], verts[1], edges, BLI_array_count(edges), FALSE);
-		if (!f) {
+		if (UNLIKELY(f == NULL)) {
 			printf("%s: could not make face!\n", __func__);
 			continue;
 		}
@@ -592,7 +592,7 @@
 					*d3 = (d1 + d2) * 0.5f;
 				}
 
-				if (!f) {
+				if (UNLIKELY(f == NULL)) {
 					fprintf(stderr, "%s: face index out of range! (bmesh internal error)\n", __func__);
 					continue;
 				}
@@ -771,7 +771,7 @@
 				continue;
 			
 			f = BM_face_create_ngon(bm, lastv, vstart, edges, BLI_array_count(edges), FALSE);
-			if (!f) {
+			if (UNLIKELY(f == NULL)) {
 				fprintf(stderr, "%s: in bevel vert fill! (bmesh internal error)\n", __func__);
 			}
 			else {

Modified: trunk/blender/source/blender/bmesh/operators/bmo_connect.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_connect.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_connect.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -506,7 +506,7 @@
 				                            vv2[i2next],
 				                            vv1[i1next],
 				                            f_example, TRUE);
-				if (!f || f->len != 4) {
+				if (UNLIKELY((f == NULL) || (f->len != 4))) {
 					fprintf(stderr, "%s: in bridge! (bmesh internal error)\n", __func__);
 				}
 				else {

Modified: trunk/blender/source/blender/bmesh/operators/bmo_create.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -275,8 +275,9 @@
 				continue;
 			
 			f = BM_face_create_ngon(bm, verts[0], verts[1], edges, BLI_array_count(edges), TRUE);
-			if (!f)
+			if (UNLIKELY(f == NULL)) {
 				continue;
+			}
 		}
 	}
 	

Modified: trunk/blender/source/blender/bmesh/operators/bmo_extrude.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_extrude.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_extrude.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -87,7 +87,7 @@
 		BMO_elem_flag_enable(bm, f, EXT_DEL);
 
 		f2 = BM_face_create_ngon(bm, firstv, BM_edge_other_vert(edges[0], firstv), edges, f->len, FALSE);
-		if (!f2) {
+		if (UNLIKELY(f2 == NULL)) {
 			BMO_error_raise(bm, op, BMERR_MESH_ERROR, "Extrude failed; could not create face");
 			BLI_array_free(edges);
 			return;
@@ -104,6 +104,7 @@
 			l4 = l2->next;
 
 			f3 = BM_face_create_quad_tri(bm, l3->v, l4->v, l2->v, l->v, f, FALSE);
+			/* XXX, no error check here, why? - Campbell */
 
 			l_tmp = BM_FACE_FIRST_LOOP(f3);
 

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-10-01 11:12:49 UTC (rev 50977)
@@ -1808,7 +1808,7 @@
 
 		f_new = BM_face_create(bm, vert_array, edge_array, vert_seq_len, FALSE);
 
-		if (f_new == NULL) {
+		if (UNLIKELY(f_new == NULL)) {
 			PyErr_SetString(PyExc_ValueError,
 			                "faces.new(verts): couldn't create the new face, internal error");
 			goto cleanup;




More information about the Bf-blender-cvs mailing list