Don't increment caller/callee cost multiple times for recursive stacks
Don't increment caller/callee cost multiple times for recursive stacks

When we encounter a call stack with a recursive function call, we must
not increment the caller/callee cost more than once per stack. This
fixes the cost calculation for such stacks, which used to produce
costs that where sometimes beyond the actual peak cost.

muojp/heaptrack,muojp/heaptrack,muojp/heaptrack,muojp/heaptrack,muojp/heaptrack