Allow 1-page "large" vectors in scavenge_generations()
commitc9543e58e56b71cbc26be39b4c6b9b4ec2daa727
authorDouglas Katzman <dougk@google.com>
Mon, 9 Oct 2017 23:57:27 +0000 (9 19:57 -0400)
committerDouglas Katzman <dougk@google.com>
Mon, 9 Oct 2017 23:57:27 +0000 (9 19:57 -0400)
tree6da7b6fbc0469b26de0ceffcbf741e0a6f1c76dd
parent0727cab0e9442010cc4a94d172bdc7b370c8cf4c
Allow 1-page "large" vectors in scavenge_generations()

We don't now see any vectors taking up a single large-object page,
but it's a perfectly reasonable thing. We can teach the allocator
that a vector not meeting the large object size is a candidate for
being by itself if it uses up almost all of its page or pages.
If done, the loop invariant of !page_ends_contiguous_block_p()
needs to test that before assuming that a second page exists.
src/runtime/gencgc.c