Store unusable smart allocator slab tails in free lists.
commit13959e9f026b0fbabc26ec693c1333523c535542
authorJason Evans <je@fb.com>
Wed, 10 Jun 2015 20:11:24 +0000 (10 13:11 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Tue, 16 Jun 2015 22:02:16 +0000 (16 15:02 -0700)
tree77e12fa6b22160504459850a2d1582329c1e3818
parent5781355c4489167cf12a526d32d070f86e2a1dea
Store unusable smart allocator slab tails in free lists.

Summary: Store unusable smart allocator slab tails in free lists, so that later
allocation requests can utilize the space.  Furthermore, rather than
requiring precise size match when recycling free list items, utilize the
smallest free list item that is large enough to satisfy a request, and
store the remainder in free lists.

Reviewed By: @edwinsmith

Differential Revision: D2140656
hphp/runtime/base/memory-manager-inl.h
hphp/runtime/base/memory-manager.cpp
hphp/runtime/base/memory-manager.h