On Tue, Mar 10, 2015 at 8:31 PM, Ian Romanick <i...@freedesktop.org> wrote:
> Also... I'm not a fan of these ever-growing macros.  They're a lot like
> alligators.  They're pretty cute when they're small, but when they grow
> up they drown you in a river and eat you.  I feel like the users of
> this macro should just use foreach_list_safe, and use exec_node_data by
> hand.  That would simplify things a lot by hiding less from the
> programmer.

I don't know, I think with the bugs shaken out, the prevent a lot of
mistakes among other benefits.

Think for instance of the number of times we've fixed node->next !=
NULL to be node->next->next != NULL before the macros existed.

They also cut boilerplate from every linked list walk. These were some
diff-stats from some of the commits that started using them:

184 insertions(+), 291 deletions (commit 4d78446d)
41 insertions(+), 85 deletions (commit e0cb82d0)

Using macros also massively simplified the transition in the i965
backend from a single huge instruction list to a list of basic blocks,
each with their own instruction lists -- see commit 49374fab.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to