Introduce the Array-based Red-Black Tree macros: just like the
usual tree(3) RB ones, but using an array (preallocated, linear
chunk of memory) to store it.
This avoids the allocation overhead, improves memory locality,
and makes it trivially easy to share/transfer/copy the entire tree
without the need for marshalling. The downside is that the size
is fixed at initialization time; there is no mechanism to resize
it.
This is one of the dependencies for the new stats(3) code.
Sponsored By: Klara Inc, Netflix
Obtained from: Netflix