Oilpan: always shrink tail-allocated backing storage (reland.)

When shrinking backing storage allocations, some care is taken not to
introduce excessive fragmentation and/or limit later expansion of the
same object. That logic does not need to apply if the backing store is
at the tail of the current heap chunk: unconditionally reset the
allocation point, if it is.

(Reland of r353321; it asserted on empty shrink attempts on 32-bit windows.)

R=haraken
BUG=420515

Review URL: https://codereview.chromium.org/1393863004

Cr-Commit-Position: refs/heads/master@{#354474}
3 files changed