On Saturday, April 2, 2016 5:09:27 PM PDT Rob Clark wrote: > From: Rob Clark <robcl...@freedesktop.org> > > It's no extra overhead to do a _self_link() and it eliminates a class of > potential problems. > > Signed-off-by: Rob Clark <robcl...@freedesktop.org> > Dared-by: Jason Ekstrand <ja...@jlekstrand.net> > --- > src/compiler/glsl/list.h | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/src/compiler/glsl/list.h b/src/compiler/glsl/list.h > index a1c4d82..77e1f67 100644 > --- a/src/compiler/glsl/list.h > +++ b/src/compiler/glsl/list.h > @@ -165,19 +165,18 @@ exec_node_get_prev(struct exec_node *n) > } > > static inline void > -exec_node_remove(struct exec_node *n) > +exec_node_self_link(struct exec_node *n) > { > - n->next->prev = n->prev; > - n->prev->next = n->next; > - n->next = NULL; > - n->prev = NULL; > + n->next = n; > + n->prev = n; > } > > static inline void > -exec_node_self_link(struct exec_node *n) > +exec_node_remove(struct exec_node *n) > { > - n->next = n; > - n->prev = n; > + n->next->prev = n->prev; > + n->prev->next = n->next; > + exec_node_self_link(n); > } > > static inline void >
I don't get it. The existing behavior of having unlinked nodes have NULL prev/next pointers seems perfectly reasonable to me. Removing a node multiple times seems like a mistake in the caller. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev