
  Heap Layers: An Extensible Memory Allocation Infrastructure

  http://www.heaplayers.org
  http://www.cs.umass.edu/~emery
  http://www.hoard.org (Hoard)

  Release 3.0a

  Copyright (C) 2000 - 2003 by Emery Berger

  Please read COPYING for licensing information.
  Heap Layers is distributed under the terms of the GNU General Public License.
  ** Commercial licenses are also available. **
  Please contact Emery Berger (emery@cs.umass.edu) for more details.

  ------------------------------------------------------------------------------

  Heap Layers is a template-based infrastructure for building memory
  allocators. The infrastructure is remarkably flexible and
  composable, and the resulting memory allocators are as fast or
  faster than counterparts written in conventional C or C++.

  For a good introduction to Heap Layers, read the paper "Composing
  High-Performance Memory Allocators", included with the distribution
  as 'doc/berger-pldi2001.pdf'. The allocators directory contains a number of
  allocators written using Heap Layers, including Hoard.

  The Hoard allocator has now been rewritten in Heap Layers, and
  is included in the allocator/hoard subdirectory. For more information about
  Hoard, see http://www.hoard.org and 'doc/berger-asplos2000.pdf'.

  Reaps, a hybrid of regions and heaps, were also implemented in Heap
  Layers and can be found in the allocator/reap subdirectory. For more
  information about reaps, read the paper "Reconsidering Custom Memory Allocation",
  included with the distribution as 'doc/berger-oopsla2002.pdf'.



  Any work citing Heap Layers should use the following citation:

  @inproceedings{ berger01composing,
    author = "Emery D. Berger and Benjamin G. Zorn and Kathryn S. McKinley",
    title = "Composing High-Performance Memory Allocators",
    booktitle = "{SIGPLAN} Conference on Programming Language Design and Implementation",
    pages = "114-124",
    year = "2001",
    url = "citeseer.ist.psu.edu/berger01composing.html" }

  Any work citing Reaps should use the following citation:

  @inproceedings{ bergerzornmckinley2002,
    author = "Emery D. Berger and Benjamin G. Zorn and Kathryn S. McKinley",
    title = "Reconsidering Custom Memory Allocation",
    booktitle = "Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA) 2002",
    address = "Seattle, Washington",
    month = Nov,
    year = "2002",
    url = "citeseer.ist.psu.edu/berger01reconsidering.html" }

  Please feel free to send comments or suggestions to emery@cs.umass.edu.

  --
  Emery Berger
  Assistant Professor
  Dept. of Computer Science
  University of Massachusetts, Amherst
  www.cs.umass.edu/~emery
