Move the finger computation out of the bitmap scanning callback.

The finger computation depends on bitmap internals.  This knowledge
should not be part of the bitmap interface, just its implementation.
This change adds a new walker that computes and passes a finger
argument to a callback.  As part of this change, code to recompute the
end address during a walk has been removed from the ordinary bitmap
walker code.  That check is needed by the scanning walk as its
callback may advance the max address when setting mark bits for
objects beyond the finger.
2 files changed