This directory contains the implementation of the Reap memory
manager. Reap is a hybrid region-heap allocator. You can use Reap to
create multiple memory allocation regions ("reaps"), that each have
malloc-free functionality. These may be nested and deleted en
masse. See doc/berger-oopsla2002.pdf for more information.

The Reap API is in reap.h. libreap.cpp produces a shared object that
replaces malloc/free and provides reap functionality. If you just want
reap functionality, you can compile regionheap.cpp instead (which
differs from libreap.cpp by exactly one line).

The files regionsimulator.{h,cpp} are wrappers that provide reap and
obstack functionality on top of malloc/free, and were used for
experimental purposes in the paper mentioned above.
