mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-20 12:46:56 +00:00
(from ebtree 6.0.5) Last bugfix has introduced a de-optimization in the lookup function because it artificially extended the scope of some local variables, which resulted in higher stack usage and more numerous moves between stack and registers. We can reduce that by moving the return code out of the loop, because gcc notices that it never needs both "troot" and "node" at the same time and can use the same register for both. Doing so has reduced the code size by 39 bytes for the lookup function alone, and has sensibly reduced the instruction dependencies caused by data moves. (cherry picked from commit 59be3cdb96296b65a57aff30cc203269f9a94ebe) It should be backported to 1.4 if previous ebtree fix is backported. |
||
---|---|---|
.. | ||
compiler.h | ||
eb32tree.c | ||
eb32tree.h | ||
eb64tree.c | ||
eb64tree.h | ||
ebimtree.c | ||
ebimtree.h | ||
ebistree.c | ||
ebistree.h | ||
ebmbtree.c | ||
ebmbtree.h | ||
ebpttree.c | ||
ebpttree.h | ||
ebsttree.c | ||
ebsttree.h | ||
ebtree.c | ||
ebtree.h |