https://github.com/Unipisa/CMM
Raw File
Tip revision: b9c41e1dc870c04d12224f01cf5ef2d18b035756 authored by Giuseppe Attardi on 03 October 1995, 10:43:54 UTC
1.4 -
Tip revision: b9c41e1
README
This directory contains a C++ Memory Management facility, aiming to
allow full integration between coexisting different memory
management techniques.

The abstractions of "Container", "Heap Zone", and "Top Level
Collection", are implemented as described in the paper
"A Customisable Memory Management Framework" included in directory doc.

A guide for users is in the file doc/CMMguide.tex; it also acts as a
specification of the public interface to this package.  Additionally,
this file contains some information about how to incorporate your own
memory manager into CMM.

The included files are:

cmm.{H,C}
	This is a rework of the Bartlett's Mostly Copying Collector
	for C++. The code has been modified to make it consistent with
	the C++ CMM interface.

HeapStack.{H,C}
	Two versions of a stack-like CmmHeap have been implemented.  A
	fixed size stack zone (SimpleHeapStack), made from a couple of
	ContainerStacks, and an expandable stack zone (HeapStack) made
	from a list of ContainerStacks.

demo[12].C
	Demo programs, whose source shows how to use CMM in very
	simple cases.

test[12345].C
	test suite.

For a non trivial example of use of CMM, get the file groebner.tar.gz from:

	barsotti.dm.unipi.it:~posso/development/groebner

This is a program to compute Groebner bases, whose memory management
requires appropriate techniques.  Different C++ GCs are included to
allow experimentation.

INSTALLATION
============

This program has been tested under SunOS4 and Linux.
It compiles using g++ (version 2.2.2 or later)

Type:
	> make 

to produce the gcposso.a library. The Makefile entry test and demo will
produce and run test and demo programs.

Bug Reports & Suggestions to the author:

	Tito Flagella - tito@di.unipi.it


The following people have contributed to this work:

Giuseppe Attardi is co-author of the paper "A Customisable Memory
Management Framework", and of the design of CMM.

Carlo Traverso and John Abbott contributed to the design of the interface,
taking part in numerous meetings of the POSSO project.

Joachim Hollman gave precious feedback on the first implementation of CMM.
back to top